1. 常量:常量就是常数据
2. 变量: 变量是在计算机存储器中定义的一块可命名的空间,变量固定的长度,变量的值可以被改变(const除外)
变量的声明是不对变量分配空间,只是告诉编译器存在该变量
eg: extern int g_max;
变量初始化:int a = 1;
变量赋值:int a; 定义动作,未被初始化
a = 1; 赋值动作,也可以认为对变量的内容的修改
全局变量的未被初始化,在内存中值是0;
局部变量的未被初始化,在内存中值是随机数。
扩展: “常量”与“只读变量”的区别。常量,例如5, "abc",等,肯定是只读的,因为常量是被编译器放在内存中的只读区域,当然也就不能够去修改它。而“只读变量”则是在内存中开辟一个地方来存放它的值,只不过这个值由编译器限定不允许被修改。C语言关键字const就是用来限定一个变量不允许被改变的修饰符(Qualifier)。
ANSI C规定数组定义时长度必须是“常量”(C99标准,数组下标可以用变量来表示),“只读变量”也是不可以的,“常量”不等于“不可变的变量”
在ANSI C中用什么来定义常量呢?答案是enum类型和#define宏,这两个都可以用来定义常量