C语言中可以改变的量叫做变量。
不能改变的量叫做常量。
变量 变量的分类变量分为全局变量和局部变量。
定义在大括号外部的叫做全局变量。
定义在大括号内部的叫做局部变量。
int a = 0;
int main()
{
int b = 0;
return 0;
}
如上面这段代码,a是全局变量,b是局部变量。
int a = 100;
int main()
{
int a = 10;
printf("%dn", a);
return 0;
}
那这段代码中,全局变量和局部变量重名了,会不会出问题呢?运行的结果是多少呢?
运行的结果是10。
结论:全局变量和局部变量名字冲突时,局部变量优先使用。
变量的作用域作用域描述的是一个变量在哪里可以使用,在哪里不能使用。
先说结论:
局部变量的作用域是变量所在的局部范围。
简单来说,局部变量外面的第一层大括号里面就是它的作用域。
比方说:
int main()
{
{
int a = 10;
printf("%dn", a);
}
return 0;
}
在这里a是可以使用的。
int main()
{
{
int a = 10;
}
printf("%dn", a);
return 0;
}
但这里就不行。
全局变量的作用域是整个工程。
全局变量在整个工程内部都能使用。
不过要注意,跨文件使用时要声明。
比方说:
这是其中一个源文件:
这是另一个文件:
extern是用来声明外部符号的。
变量的生命周期变量的生命周期指的是变量从创建到销毁的过程。
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期:整个程序的生命周期。简单来说,与程序共存亡。
常量 常量的分类 字面常量正常写出来的常量。
1;//整型常量 3.14;//浮点型常量 'w';//字符常量 "abc";//字符串常量const修饰的常变量
const int a = 10; int a = 20;//不能修改的!
本质上还是变量,只不过加上了const就不能修改了。
#define定义的标识符常量#define PI 3.1415枚举常量
enum color
{
red,
green,
yellow,
blue
};
int main()
{
enum color s = red;//赋值
printf("%dn", green);//1
return 0;
}
枚举常量的值默认从0开始。
如上面那段代码red表示0,green表示1,yellow表示2,blue表示3。



