数组a 与 &a

575阅读 0评论2009-12-23 zhxw123
分类:

数组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[]的长度。
 
 
上一篇:RC4加密及解密
下一篇:错误