变量:
**局部变量和全局变量:**定义在代码块{}内与外的变量
**举例1-**二者区别:
#include <stdio.h>
int b=1; //全局变量 定义在代码块{}之外
int main()
{
int a=0; //局部变量 定义在代码块{}之内
return 0;
}
局部变量不都是在main函数内部,只能说main函数内部都是局部变量,但局部变量不一定在main函数以内,局部变量只要在代码块/大括号内都是局部变量。
注意:定义变量的位置
①
#include <stdio.h>
int main()
{
int a=0;
int b=1;
scanf("%d %d",&a,&b);
int sum=0; //错误:C语言语法规定,变量要定义在当前代码块的最前面
sum=a+b;
printf(“sum=%d\n”,sum);
return 0;
}
②
#include <stdio.h>
int main()
{
int a=0;
int b=1;
int sum=0;
scanf("%d %d",&a,&b);
sum=a+b;
printf(“sum=%d\n”,sum);
return 0;
}
举例2-二者优先顺序:
#include <stdio.h>
int a=1;
int main()
{
int a=0;
printf("%d\n",a); //当局部变量与全局变量名称相同时,局部变量优先
return 0;
}
答案:0
注意:尽量二者名称不要相同,易产生误会出现bug.
举例3-局部变量作用域:
①
#include <stdio.h>
int main()
{
int a=0;
}
printf("%d\n",a); //错误:局部变量不能超出代码块的局部范围即作用域
return 0;
②
#include <stdio.h>
int main()
{
int a=0;
printf("%d\n",a);
return 0;
}
举例4-全局变量的作用域/生命周期:
extern:声明外部符号的
如下:全局变量age体现了全局变量的生命周期是main函数的生命周期,是整个程序/工程的生命周期。