内存中供用户使用的存储空间可分为:
- 代码区:存代码的地方。
- 常量区:存常量的地方。
- 静态存储区:存变量的地方。
- 动态存储区:存变量的地方。
存变量的分为静态存储和动态存储两个区;
“静态”表示事情发生在程序构建的编译时和链接时(还没有运行呢),而非程序实际开始运行的载入时和运行时。也就意味着静态存储区的变量他的分配内存是在编译的时候就已经分配了,不是在运行的时候临时分配。
“动态”表示事情发生在程序载入时和运行时。
变量的存储类型是指在内存中存储(编译器为变量分配内存)的方式。
静态存储方式:是指在程序运行期间(因为在编译的时候就已经分配好了,所以在程序运行期间他是始终占有分配好的内存的)分配固定的存储空间的方式,不会发生变化。
存储类型决定了变量的生存期。变量的数据类型决定的是变量在分配内存的时候,分配的内存字节数的大小等等(包括可参与的运算类型等等)。存储类型决定了你分配的这个变量他的生存期有多长,何时生何时灭;而静态分配的数据,因为他是编译阶段分配的,所以说他在整个程序的生命周期内,全过程内他是始终占据着内存的,寿命比较长,它是与程序共存亡的,你什么时间程序结束了,我才释放掉。而动态存储区的变量是和语句块共存亡的,我退出这个函数了我就自动释放了,我退出这个复合语句了我就把分配的内存给释放掉了,他的值就已经没有了。
如何声明变量的存储类型?
//参照以前声明变量的数据类型是:
数据类型 变量名;
//在数据类型的前边加上存储类型,