C语言数组名a和&a小结
来源:互联网 发布:vr淘宝宣传视频 编辑:程序博客网 时间:2024/06/05 08:35
int a[5] = {1,2,3,4,5};
数组和指针是C语言的精髓也是它的难点。特别是对于数组名a以及&a,很多同学一直都搞不清楚。今天就说说我自己的理解,希望能对大家有所帮助。
a表示的是a[0]的起始地址,而&a表示的整个数组的起始地址。只是恰好他们表示的地址相等,但并不能说他们两个就完全相等。就像浙江省的省政府在杭州,而杭州市的市政府也在杭州,但不能说浙江省政府就等于杭州市政府。
为了方便理解,我们来对数组进行运算。假设a的地址是0x00ffff00,那么a+1和&a+1分别是多少。
因为a表示的是a[0]的首地址,所以a+1加的就是一个a[0]元素的大小,即一个int的大小4,所以a+1为0x00ffff04
&a代表的是整个数组的首地址,所以&a+1加的就是整个数组的大小,即4*5=20,所以&a+1为0x00ffff14
其实他们完全是两回事,只不过刚好数值上相等而已
- C语言数组名a和&a小结
- c语言中数组名a和&a
- c语言中数组名a和&a详细介绍
- c语言中数组名a和&a详细介绍
- 数组名a和&a的区别
- 数组名a和&a的不同
- 数组名a和&a 的区别
- 数组名a和&a的区别
- 数组名a和&a初认识
- 数组名a和&a的区别
- 数组名a和&a的区别
- c语言整理数组a和&a的区别
- C语言学习知识点(四):数组名a与取地址数组名&a的区别
- C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
- 关于&a和a (a为数组名)
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- qtday03
- Windows phone 应用开发[8]-体验PhoneGap
- uc2day01静态动态头文件
- 取得两个List的交集,retainAll()方法
- 使用js-ctypes——声明类型
- C语言数组名a和&a小结
- Mac OS访问Windows共享文件夹
- 调用Cognos sdk接口生成报表
- 一个python 3.2下的 高级 电子邮件库 pyzmail
- dbms_stats.gather_table_stats与analyze table 的区别[转贴]
- Paxos工程实践--Google chubby设计与实现
- Halcon學習之八:圖像區域疊加與繪制
- java—如何成为高手
- Halcon學習之七:改變圖像的現實方式和大小