在上一节里,提到我们将会进行数据类型的学习,不过在此之前,我们首先来了解一下常量和变量。
Constant:n. [数] 常数;恒量
常量是在程序运行过程中,数值不会改变的量。常量区分为不同的类型,比如整型常量-4,0,5,实型常量1.2,-1.256,字符型常量'a','b'.
在程序中,有那些形式表示常量呢?
1.字面常量或直接常量
是从字面形式上即可判断。
2.用标识符代表一个常量
用一个标识符代表一个常量的符号,比如下面的value1,被称为符号常量。
符号常量的与变量的区别:
相同点:两者都用标识符表示,遵守标识符的命名规则。
异同点:1.符号常量在进行命名时,通常是用大写字母进行命名。比如:#define PRICE 40;
2.符号常量在程序运行过程中,其值在作用域是不能被改变的,和不能再被赋与其他值的。比如:定义一个#define PRICE 40; void main() {....PRICE=20//这是错误的..}
下面定义了两个符号常量:
#define value1 97
#define value2 'a'>'b'?1:0
第一个:定义了符号常量value1,在程序运行过程中,会将所有用value1的地方原样替换成97,这就实现了用一个标识符来代表一个常量。
第二个:第一个符号常量value2,在程序运行过程中,会将所有用value1的地方原样替换成'a'>'b'?1:0,然后进行表达式的计算。
总结:用#define来定义符号常量只是#define的一个用法,当然,宏定义的功能不限于此。后面,会对宏定义进行详细的学习。
Variable:n. [数] 变量;可变物,可变因素
变量就是在程序运行过程中,其值是可以改变的量。
下面,同过一个例子来说明变量在内存中的分配与使用。
...
int k;
k=5;
执行int k;编译器在内存中开辟一个大小为sizeof(int)的内存空间,当然这个空间会对应一个内存地址(首地址)比如上图中的1000,然后存储单元中的值,被赋予任意值(不同的编译器会赋予不同的值)。
在编译时,会将变量名k与地址1000形成一种对应关系(当然这种关系是隐藏的),当之后程序调用k时,其实是找到k对应地址的内存单元,然后访问内存单元中的值。
执行k=5;编译器会通过k找到所对应的内存地址,然后将5写入相应的内存单元中。
---加油!一定会成功!

浙公网安备 33010602011771号