- #include <stdio.h>
- /*
- 1.内存寻址由大到小,优先分配内存地址比较大的字节变量
- 2。变量越先定义的变量,内存的地址越大
- 3.取得地址的值:&变量名
- 4.输出地址:%p
- */
- int main(void){
-
- char e = 100;
-
- int a = 10;
-
- int b = 10;
- int f = 100;
-
- char c = 'a';
-
- char d = 100;
- /*
- %p用来输出地址
- &是一个取地址运算符,取得变量的地址
- */
- printf("e的地址:%p\n",&e);
- printf("a的地址:%p\n",&a);
- printf("b的地址:%p\n",&b);
- printf("f的地址:%p\n",&f);
- printf("c的地址:%p\n",&c);
- printf("d的地址:%p\n",&d);
-
- return 0;
- }
复制代码
输出:
2.png
(60.02 KB, 下载次数: 0)
记得char类型的变量占一个字节,e的内存地址是0022FF1F,为啥为第二个int变量分配的内存地址相差了8个字节,是我的系统问题还是有些内存分配浪费了? |
|