01-变量的内存分析

 

1、字节和地址

(1)内存以(字节为单位)

0x 表示的是十六进制,字节地址都是以十六进制表示的。

(2)数据类型不一样,数据所占用的字节数是不一样。

2、变量的存储细节

(1)变量所占用的字节数除了跟类型有关,也跟编译器环境有关

 

(2)举个实例说明变量存储细节

1 int a = 10;
2 int b = 20;

当我们定义变量后,系统会在内存中给变量开辟内存空间

1>  内存由大到小寻址,优先分配内存地址较大的字节给变量。a的内存地址比b大。

2>  每个变量都有地址:第一个字节的地址就是变量的地址。

3>  最小的字节地址代表变量的地址。

3、查看内存地址

1 #include <stdio.h>
2 int main(int argc, const char * argv[])
3 {
4     int a = 10;
5     int b = 20;
6     printf("a的地址是:%p\n", &a);
7     printf("b的地址是:%p\n", &b);
8     return 0;
9 }

1>输出地址的时候,%p用来输出地址; &是取地址运算符,用来获取变量地址。

2>输出结果如下:

 验证了内存由大到小寻址

 

 

posted @ 2014-10-01 09:21  微雨独行  阅读(216)  评论(0编辑  收藏  举报
1 2