C语言学习笔记----------伊能C语言学习笔记-------静态局部变量

/*
用static声明一个变量的作用是:
1.对局部变量用static声明,把它分配在静态存储区,该变量在整个程序执行期间不释放,其所分配的空间始终存在。常使用静态局部变量在函数调用间歇保存某些变量的值。
2.对全局变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)




*/




#include


#include


void go()
{
for (int i = 0; i < 10; i++)


{
int num = 0;   //局部变量,每次块语句结束,就自动回收,然后重新分配
//每次的值都为0
static int data = 0;  //静态局部变量,,始终在内存,一旦定义初始化,即使再次执行初始化的语句,也仅仅只执行一次初始化。
// 生命周期一直沾着内存,与程序共存亡。




printf("%p,%p\n", &num, &data);  //输出地址


num += i;  //num=num +i;


data = data + i;


printf("\n");


}
//下面我们就来看一下,num和data的生命周期有什么特点呢?
}






void main()


{
go();






system("pause");
}

你可能感兴趣的:(C语言学习笔记)