关于&的思考
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的地址。
#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的地址。
相关文章推荐
- Linux C函数参考手册(PDF版)
- Lua和C语言的交互详解
- Lua教程(十七):C API简介
- C#实现打造气泡屏幕保护效果
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C/C++数据对齐详细解析
- 利用C语言来求最大连续子序列乘积的方法
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法