数组a 与 &a
int main()
{
char buf[10] = {0};
char a[10] = {0};
printf("%p\n", buf);
printf("%p\n", &buf);
printf("%p\n", buf+1);
printf("%p\n", &a);
printf("%p\n", &a+1);
}
运行结果为:
0xbff6f28a
0xbff6f28a
0xbff6f28b
0xbff6f280
0xbff6f28a
从运行结果可以知道,
a和&a的值都是数组a的首地址,它们是有什么区别呢?
a:是数组的首地址即&a[0]
&a:以整个数组为单位取其地址.
若分别以相同类型加1的话,察看地址,得到值的长度,就可以很明显的看出它们所代表的类型是不同的。
而且一个的长度是a[0]的长度,一个是a[]的长度。
阅读(555) | 评论(0) | 转发(0) |