测试程序
1 2 3 4 5 6 7 8 9 |
#include<stdio.h> int a; int main(){ int b; printf("address of b %p\n",&b); printf("address of a %p\n",&a); printf("address of main() %p\n",&main); return 0; } |
测试环境
ubuntu 14.04 内存1.1g
测试结果
1 2 3 |
address of b 0x7ffd58a6c3fc address of a 0x601044 address of main() 0x40052d |
C语言内存空间分布情况
1 2 3 4 5 6 7 8 9 10 11 |
高地址---------------- 内核空间 --------------------- 栈空间 //局部变量 --------------------- 运行时的堆空间(malloc) --------------------- 全局的数据空间 只读数据段 代码段 低地址----------------- |