一、全局变量
- 未加修饰且没有初始化的变量放在.bss段,未加修饰且初始化的变量放在.data段
- 用static关键字修饰且没有初始化的变量放在.bss段,用static关键字修饰且初始化的变量放在.data段
- 用const关键字修饰的变量是只读的,放在.rodata段
二、局部变量
- 未加修饰的变量或用const关键字修饰的变量放在栈中
- 用static关键字修饰且没有初始化的变量放在.bss段,用static关键字修饰且初始化的变量放在.data段
三、动态申请
动态申请的空间放在堆中。malloc、calloc返回指向这些空间的指针,而保存这些指针的变量的存储位置又由一、二确定。
四、register修饰的变量
用register 修饰的变量告诉