码迷,mamicode.com
首页 > 编程语言 > 详细

C语言 a和&a的区别

时间:2015-06-21 00:44:12      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

节选自《C语言深度剖析》

首先看个例子

main()
{
    int a[5]={1,2,3,4,5};
    int *ptr=(int *)(&a+1);
    printf("%d,%d",*(a+1),*(ptr-1)); // 2 5
}

&a: 取数组a的首地址,&a之后+1,是加一个数组的长度,此处是+1*5*sizeof(int),即指向下一个数组首地址 。

a: 数组首元素的首地址,即a[0]的首地址,a+1是加一个元素的长度即 sizeof(int)。

 

C语言 a和&a的区别

标签:

原文地址:http://www.cnblogs.com/kwseeker-bolgs/p/4591291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!