静态变量与动态变量的定义与区别

动态变量和静态变量的定义和区别如下:

1.定义上,静态变量比动态变量在多一个关键字static,比如:

动态变量::int i;

静态变量:static int i;

2.动态变量在子程序中,每次调用都会从它的初始值开始调用,而不管他在函数中经历了什么变化;静态变量会从变化后的值继续改变。

main()
{
int i;
for(i=0;i<5;i++)fun();//fun1();
}
void fun()        //输出结果为11111
{
int j;
j++;
printf("%d",j);
}

void fun1()        //输出结果为12345
{
static int j;
j++;
printf("%d",j);
}

但是,我要说明的是,这里的关键点:就是他们的变化是在这个变量再次被(调用)的时候才能有区别,就是说他们被别的函数重新调用时而不是在一个函数内被多次使用,

就像一个叠加的例子:

{

int i;//是动态的

i++;

i++;

i++;

}

                                      i在这个函数中是会持续叠加的,因为他不属于重新被调用,只有当他被另外一个函数调用时才会起到动态变量原有的效果!



猜你喜欢

转载自blog.csdn.net/qq_31783173/article/details/63688069