const关键字只能用来修饰常量
c语言常量表达式规则?
c语言常量表达式规则?
常数的定义:常数是指在程序运行过程中其值不能改变的量。
C语言中的常数可以分为直接常数和符号常数。
直接常数是指用具体数据直接表示的一种形式,可分为整型常数、实型常数、字符型常数和字符串型常数。
符号常量是指由C语言标识符定义的常量。
整数常量有整数常量、十进制数、八进制数和十六进制数。如:10,012,0x0A
实数常量也称为浮点常量。比如3.14和1.2E-4。
字符常量必须用单引号括起来。如#39M#39、#39
#39
字符串常量应该用双引号括起来。例如#34abc#34、#34a#34。
符号常量可以用宏定义或const关键字来表示。如#定义PI 3.14常量浮点PI 3.14
函数中的常量指什么?
无权更改该类数据成员的成员函数称为常量函数。
如果在一个类中定义了一个完整的成员函数,可以通过添加 "const "在第一对括号之后,第一对花括号之前;如果类中只给出了函数原型,可以通过添加 "const "在函数原型的括号之后和分号之前,以及 "const "也应添加在定义中的第一对括号之后和第一对大括号之前。
函数是变量之间的关系,变量之间的关系有时必须用常数联系起来。比如圆的面积S π R2,r和S叫做变量,π叫做常数。常数是在函数变化过程中保持不变的量。它被称为常数,与单位无关。
const和define的区别?
定义宏定义和const常量变量之间的区别:
它是一个宏定义,程序在预处理阶段会被define定义的内容所替代。
所以程序运行时,常量表中没有define定义的常量,系统不会为其分配内存。const定义的常量在程序运行时在常量表中,系统为其分配内存。
定义的常数仅在预处理期间被直接替换。因此,数据类型验证不能在编译时执行。const定义的常量可以在编译时进行严格的类型检查以避免错误。
请注意 "边缘效应和定义表达式的时候,比如下面的定义:# define N ^ 2 ^ 3//我们期望N的值是5,所以我们用N int a N/2 //我们期望a的值是2.5,但实际上a的值是3.5。