c语言静态存储和动态存储,c语言用于保存时间日期的类型
#包含stdio.h
int x _ a=0;
void func(void) {
静态int x _ b=0;
int x _ c=0;
printf(====\ n ,x_a,x_b,x _ c);
}
int main(void) {
int I;
puts( ax sx FX );
puts(-);
for(I=0;i 10i ) {
func();
}
返回0;
}运行结果:
X_c=0,因为函数func结束时变量X_c消失。它的变量lifetime只存在于func函数体中,x_c会在每次函数调用后自动消失,所以x_c不会增加这个变量的值。
总结:
自动储存期
静态储存期
产生
当程序执行到对象声明时,相应的对象被创建。
它是在程序开始执行时创建的。
初始化
如果没有显示初始化,对象将被初始化为一个不确定的值。
如果初始化时没有显示,对象将被初始化为0。
消失
在包含声明的块的末尾,对象将消失。
在节目结束时消失
自动储存期:
通过在函数中不应用存储类说明符static而定义的变量被赋予一个自动存储期,它具有以下特征。
当程序执行到对象声明时,它创建除相应对象之外的对象。而当执行到包含声明的块的末尾,也就是花括号}的时候,对象就会消失。对象的生存期很短,如果变量没有初始化,对象将被初始化为一个不确定的值。静态储存期:
通过在函数中使用static定义的对象或在函数外声明的对象被赋予一个静态存储期,它具有以下特征。
程序是在执行开始时创建的,具体来说,是在主函数执行前的准备阶段创建的,在程序结束时消失。对象有一个“永久”的生存期,如果变量没有初始化,对象会自动初始化为0。
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。