c语言的变量存储方式静态存储方式与动态存储方式(具体:自动的、静态的、寄存器的register、外部的extern)在内存中的用户的存储空间分为:程序区、静态存储区、动态存储区。静态存储方式:在程序运行期间,系统对变量分配的固定空间。动态存储方式:在程序运行期间,系统对变量分配的动态空间1>用static来声明静态局部变量,局部变量的值在函数结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上次函数调用结束时的值。静态局部变量的默认值为0.2>动态的局部变量当函数体被调用完毕时,变量的空间被释放。举例:#include<stdio.h>int main(){ int i=0; for(i=0;i<3;i++) { fun1(); fun2(); }}//自动变量void fun1(){ int a=10; a++; PRintf("输出自动变量a的值:%d/n",a); }//局部静态变量void fun2(){ static int a=3 a++; printf("输出静态局部变量a的值:%d/n",a);}输出结果:说明:静态局部变量是只有在编译的时候赋初始值,即只赋初始值一次,在程序运行的时候它已经有初始值,那么之后再调用函数的时候不在重新对变量进行初始值赋值,而是对保留上一下车函数调用结束的值。
新闻热点
疑难解答