C_language_renew03
2017-12-05 本文已影响7人
遮天的龙
作用域
- 局部变量 全局变量
- 作用域的定义:从定义的地方,开始到它所在的大括号截止。
- 局部变量的值为随机值
- 全局变量,在未初始化状态下系统默认初始化为0;如果有重名则会造成重定义。特别是在多个文件开发中尽量少用全局变量。
- 局部变量的生命周期,开始于所在函数调用,结束于所在函数的调用完毕。
- main()由操作系统发起的调用。
int a = 100;
void fun1()
{
int a =10;
printf("%d\n";a);
}
int main()
{
fun1();
printf("%d\n",a);
int a =3;
{
printf("%d\n",a);
int a = 5;
printf("%d\n",a);
}
printf("%d\n",a);
return 0;
}
static 修饰局部变量,若未初始化,则自动初始化为零。
- 静态变量只初始化一次,生命周期,同main()
void func()
{
int i =5;
printf("%d\n",i++);
static ncount= 5;
printf("%d\n",ncount++);
}
//static 实际开发中的应用
void showStudent(int array[],int n)
{
static int flag = 1;
if(flag == 1)
{
printf("姓名\t学号\t性别\t年龄\n");
flag = 0;
}
for(int i = 0; i < n ;i++)
{
printf("%d\t",array[i]);
}
putchar(10);
}
int main()
{
func();
func();
func();
int array1[] = { 12, 12, 34, 34 };
showStudent(array1, 4);
int array2[] = { 12, 12, 34, 34 };
showStudent(array1, 4);
int array3[] = { 12, 12, 34, 34 };
return 0;
}