C语言里符号常量和常变量有什么区别?

如题所述

符号常量与常变量的区别:符号常量不占用内存空间,在预编译时就全部由符号常量的值替换了,而常变量占用内存空间,也有数据类型,但是此变量在存在期间是不能重新赋值的。
1、常变量a的定义如下:
const int a = 5;
2、符合常量PI的定义如下:
#define b=3.1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08

符号常量 是编译前有预处理器处理的

#define PI 3.1415926

#define 是一条预处理命令, 就是出现符号常量PI的地方用后面的数字替换只是简单地替换

然后进入编译器

而常变量由编译器处理,分配内存空间,有数据类型,可以和变量一样使用,但不可以改变值!

const float PI=3.14159;

追问

我有点不太理解,变量可以变,它不变的的话和常量还有什么共同点?

追答

常变量和常量的区别:

    使用时常变量更方便,例如一个常量若多次出现,想更改数值就得改多次,常变量改一次就好;

    编译差别,常变量分配内存空间,有数据类型,每个常量会独立存放,出现几次就有几个存放空间。

本回答被提问者采纳
第2个回答  2015-03-10
常变量不能改变