C语言数组名取地址。。。
int main()
{
int a[5] = { 1, 2, 3, 4, 5 };
printf("%08X ,%08X ,%08X ,%08X", a, &a, a + 1, &a + 1);
return 0;
}
打印出来 a 和 &a 的地址是一模一样的
但是,
a+1是加了一个int型的长度
&a+1 却是加了整个数组的长度
其实,&a就相当于一个数组指针了,
int (*p)[5];
p=&a;
int main()
{
int a[5] = { 1, 2, 3, 4, 5 };
printf("%08X ,%08X ,%08X ,%08X", a, &a, a + 1, &a + 1);
return 0;
}
打印出来 a 和 &a 的地址是一模一样的
但是,
a+1是加了一个int型的长度
&a+1 却是加了整个数组的长度
其实,&a就相当于一个数组指针了,
int (*p)[5];
p=&a;