作业帮 > 综合 > 作业

常量到底是如何定义的?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 03:45:08
常量到底是如何定义的?
看到书上说,int dog=10 其中10是一个数字常量,然后#defined DOG 10 是一个常量,10替换了所有DOG标识符表示的值.那到底常量如何定义的?特别是在变量后赋值的那个“常量 ” 比如这个10,是什么呢?也是常量?
你用#defined 只是一个宏定义.例如 你#defined DOG 10
只是说你用字符串DOG代替了10, 就相当给10起了个名字是DOG, DOG就是10
在编译的时候,编译器会将DOG自动变成10.
也就是说defined 只是2个字符串的替换.便于代码书写.但是编译器没有安全性校验.
常量定义一般是用const int dog = 10; 它讲消耗你在代码区域4个字节的内存空间,但是#define不会消耗内存空间,只是编译的时候做字符串替换操作.
你问的问题其实纠结在于是否都是定义常量,其实是都可以的.不用太纠结,要明确我上面写的#define的用途,它不单单是用来定义常量,其根本只是作2个字符串替换.