c++语言中 int a[10];int *p=&a;

int a[10];int *p=&a; 这行不对,为什么?
2025-03-05 11:01:45
推荐回答(2个)
回答1:

因为a是一维数组。
可以用
int *p=&a[0];
或用
int *p=a;
声明里 &a[0] 是 a 数组第一个元素的地址。
声明里 a 是 a 数组的 首地址。
声明里 &a[0] 和 a 的地址相同,但意义不同。
&a 成了给 地址 再求 地址 的 运算,所以不对。

回答2:

不对 .