您的位置:首页 > 编程语言 > C语言/C++

关于&的思考

2015-09-09 17:22 288 查看
假如我们的a的地址是:0Xbfe2e100, 而且是32位机,那么这个程序会输出什么?

#include <stdio.h>

int main()

{

  int a[5];

  printf("%x\n", a);

  printf("%x\n", a+1);

  printf("%x\n", &a);

  printf("%x\n", &a+1);

  return 0;

}

结果:bfe2e100,bfe2e104,bfe2e100,bfe2e114

解释:第一个a[0]的地址;第二个a[0]+1的地址,即a[1]的地址;第三个a[0]的地址;第四个相对于数组a的长度的下一组地址,即a[0]+5的地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c c语言