可以调试看下会发现两者的值是相同的。

int array[100];

关于对数组名取地址的问题,由于数组名是右值,本来&array 是不合法的,早期不少编译器就是指定&array 是非法的,但后来C89/C99认为数组符合对象的语义,对一个对象取地址是合理的,因此,从维护对象的完整性出发,也允许&array 。只不过,&array 的意义并非对一个数组名取地址,而是对一个数组对象取地址,也正因为如此,array 才跟&array 所代表的地址值一样,同时sizeof(array )应该跟sizeof(&array )一样,因为sizeof(&array )代表取一个数组对象的长度。

但要注意到 array 和 &array 的类型是不同的。array为一个指针,而&array是指向数组int [100]的指针。array 相当于 &array[0],而 &array 是一个指向 int[100] 的指针,类型是 int(*)[100]。类型为:类型 (*)[数组大小],所以&a+1大小为:首地址+sizeof(a)。

对数组名取地址与数组名相关推荐

  1. C语言数组名、数组名取地址、数组首元素地址之间的关系

    C语言中数组名a.数组名取地址&a.数组首元素地址&a[0]三者的概念有点绕,花了点时间好好琢磨了一下,将自己的理解记录下来,如有错误之处,欢迎赐教. 首先看下面的一小段代码: #in ...

  2. 函数名地址、函数名取地址、函数名解引用问题

    以下,转载自http://blog.sina.com.cn/s/blog_6aafe9c90100xg2y.html 对一个函数进行 如下操作: 1.函数名地址 2.函数名取地址 3.函数名解引用 它 ...

  3. 为什么数组名取地址和数组名的取值一样

    int ints[20] = {10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200}; int *ip = i ...

  4. 解析:数组名a、数组名取地址a、数组首地址a[0]、数组指针*p

    数组和指针向来就是傻傻分不清,当他们一起出现的时候就更加懵逼. 1 解析不同变量之间的区别: 数组名a: 数组名可以作为数组第一个元素的指针.我们由数组和指针的关系知道,a代表这个地址数值,它相当于一 ...

  5. C语言的数组名和对数组名取地址

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  6. c语言 如何对数组取地址,C语言 对数组名取地址

    作者 : 卿笃军 你有没有想过,对一个一维数组名取地址,然后用这个地址进行加减运算.这会出现什么样的结果呢? 演示样例: int a[5] = {1,2,3,4,5}; int *p = (int * ...

  7. 数组名和数组名取地址

    在C中,在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址. 它的类型取决于数组元素的类型: 如果它们是int类型,那么数组名的类型就是"指向int的常量指针& ...

  8. 二维数组名、二维数组名取地址、二级指针

    先给出结论,便于以后查阅: 首先给出几个定义: typedef int (*p1x4)[4];//定义数据类型,p1x4这种类型为指向含4个int元素的1维数组的指针 typedef int (*p3 ...

  9. 数组名和数组名取地址 的区别

    在C中, 在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址. 它的类型取决于数组元素的类型: 如果它们是int类型,那么数组名的类型就是"指向int的常量指针 ...

最新文章

  1. Watcher 实现机制之client注冊
  2. python常用函数-python常用魔法函数
  3. 2-4. BCD解密(10)
  4. springcloud1.5.9+zipkin链路跟踪配置
  5. Linux进程间通信——使用共享内存
  6. Scanner类的简单用法介绍!
  7. 关于统计学,几个简单易懂的小故事
  8. html中为什么style中不显示发光点,css实现发光文字,以及一点点js特效
  9. python读取pdf文件 pdfplumber_Python pdfprumber用于PDF表提取,pythonpdfplumber,表格
  10. linux学习笔记(13)终端清屏
  11. git 上传项目到github
  12. 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)篇节一.doc...
  13. 安卓10源码开发定制(30)screencap命令源码分析
  14. meta—learning调研及MAML概述
  15. Ubuntu完全教程,让你成为Ubuntu高手!
  16. oracle数据库(一)
  17. 数理逻辑学习笔记[0] 命题逻辑:语义
  18. oracle 10g xe 12505,ORACLE10g的ORA-12505问题解决方法
  19. 【洛谷P1486】郁闷的出纳员【树状数组】
  20. Cnopendata国家基金项目数据简介

热门文章

  1. Android使用SoundPool播放音效实例详解
  2. 平面图形原理总结(3):多边形相交
  3. 人工智能知识体系梳理
  4. mysql connector详解_MySQL Connector 编程
  5. 贵州省计算机专业大学排名,贵州大学的计算机专业全国排名第几?
  6. Arcgis小技巧【1】——地理配准
  7. mysql时间段重叠_MySQL - 如何选择'DISTINCT'重叠时段(日期或数字范围)
  8. MII、 RMII、 GMII、 RGMII 接口介绍
  9. 3、Vue+ElementUI制作用户登录页面
  10. 路径规划算法C++实现(三)--DWA