Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169608
  • 博文数量: 49
  • 博客积分: 2802
  • 博客等级: 大尉
  • 技术积分: 502
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-25 12:02
个人简介

来就来吧

文章分类

全部博文(49)

文章存档

2014年(1)

2012年(1)

2011年(11)

2010年(26)

2009年(10)

分类:

2009-12-23 15:43:16

数组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[]的长度。
 
 
阅读(509) | 评论(0) | 转发(0) |
0

上一篇:RC4加密及解密

下一篇:错误

给主人留下些什么吧!~~