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>输出结果如下:
验证了内存由大到小寻址
人生之路,不忘初心,勿忘始终!