Abo*_*our 2 c arrays printf pointers
可能重复: C:数组的地址如何等于它的值?
SA 在CI中尝试打印数组指针的地址.
int a[3] = {0,1,2}; printf("\n%p",a); printf("\n%p",(&a));
2语句打印相同的值为什么?提前致谢
det*_*tly 7
函数的任何数组参数都将衰减为指向数组第一个元素的指针.
C Book对此有一个很好的解释:
另一种情况是数组名称是&address-of运算符的操作数.在这里,它被转换为整个数组的地址.有什么不同?即使您认为地址在某种程度上"相同",但关键的区别在于它们具有不同的类型.对于类型为T的n个元素的数组,则第一个元素的地址具有"指向T"的类型; 整个数组的地址有'指向类型为T'的n个元素的数组的指针; 显然非常不同
归档时间:
15 年,12 月 前
查看次数:
1365 次
最近记录: