<分区>
Possible Duplicate:
C: How come an array’s address is equal to its value?
有人可以帮我解释数组衰减吗?具体来说,我对 1) 数组如何引用自身感到困惑,以及 2) 当我定义
int array[] = { 45, 67, 89 };
那么array、&array、&array[0]都是指这个数组吗?我发现它们在打印时显示为相同的输出,但它们在内存中指的是完全相同的东西吗?
<分区>
Possible Duplicate:
C: How come an array’s address is equal to its value?
有人可以帮我解释数组衰减吗?具体来说,我对 1) 数组如何引用自身感到困惑,以及 2) 当我定义
int array[] = { 45, 67, 89 };
那么array、&array、&array[0]都是指这个数组吗?我发现它们在打印时显示为相同的输出,但它们在内存中指的是完全相同的东西吗?
最佳答案
then array, &array,and &array[0] all refer to this array?
内存位置相同,但类型不同。
array
就是:一个包含 3 个整数的数组&array
的类型是 int (*)[3]
,一个指向数组的指针&array[0]
的类型为 int *
,指向单个整数的指针关于c++ - 引用数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870261/