为什么数组名取地址和数组名的取值一样
2014-10-19 21:51
148 查看
int arr[10];
(1)int *p = arr;
(2)int (*q)[10] = &arr;
为什么p和q的值是一样的呢
这两个看的角度不一样.
(1)arr只是arr[0]的地址,arr+1就是arr[1]的地址了.
(2)&arr是整个arr[10]的首地址,是以整个数组为角度来看,虽然它与arr[0]的值相同,但是&arr+1就已经增加了10个int类型的字节的长度了.
(1)int *p = arr;
(2)int (*q)[10] = &arr;
为什么p和q的值是一样的呢
这两个看的角度不一样.
(1)arr只是arr[0]的地址,arr+1就是arr[1]的地址了.
(2)&arr是整个arr[10]的首地址,是以整个数组为角度来看,虽然它与arr[0]的值相同,但是&arr+1就已经增加了10个int类型的字节的长度了.
相关文章推荐
- 关于对数组名取地址的问题
- 对数组名取地址(深信服笔试题)
- C语言数组首地址和数组名取地址区别
- 基础备忘:数组指针与对一维数组名取地址
- 数组名和数组名取地址的区别
- 对数组名取地址
- 对数组名取地址
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别
- 数组名和数组名取地址的区别 .
- 数组名、数组名取地址以及作为函数传递带来的问题
- C语言的数组名和对数组名取地址
- 对数组名取地址
- (转)数组名、数组名取地址以及作为函数传递带来的问题
- 对数组名取地址与数组名
- 如果改变了形参数组的值 从而在调用函数期间 形参数组就和实参数组共占同一段内存单元 为什么形参数组从实参数组那里得到起始地址后 请问各位C语言高手:当用数组名作函数参数时 也就该变了实参数组的值
- 对数组名取地址
- 数组名和数组名取地址的区别
- C语言数组首地址和数组名取地址区别
- 数组名和数组名取地址的区别(转载)