C语言中的常量有哪些类型?
C语言中的常量可以分为:整型常量、实型常量和字符型常量和字符串常量,
另外还有符号常量和有名常量.、
整型,例如:-123, 0xff (十六进制), 022(八进制)
实型, 例如:3.14, 3.14f (单精), 3.14lf (双精), 1.2e04(科学)
字符常量, ‘A’
字符串常量, “abc123”
转义字符常量 ‘\0’ “\n”
宏定义标识符常量 #define e 2.71
程序中的 e 编译时会被2.71 替代,
逻辑型常量 TRUE (实际上也是宏定义常量)
差不多就这几种吧····
C 表达式必须含有常量值?
定义数组的时候, 中括号里的必须是常量, 而不能是变量, 也就是说你要么直接写一个数, 要么用#define宏定义一个符号, 而不能使用任何形式的变量(const声明的也是变量, 只不过它的值不能改变)
C语言中的常量有那些类型?
整体上分两类,一类是整型常量,一类是浮点型常量。细致上分,整型常量还包括字符常量、字符串常量。
①. 整型常量 如6,27,-299
②. 浮点型常量 如5.43,-2.3,5.43F(单精度)、2.3f(小写的f也可以)
③. 字符常量 如‘6’,‘a’,L’中’(宽字符常量)
④. 字符串常量 如“6”,“男”,“nanabc”
C语言常量和表达式有地址吗?怎么读取?
这个情况比较多,不过一般说以下两种情况下的常量是有地址的:
1、如果是以const关键字修饰变量而产生的“不可变变量”的话,是有地址的,如const
int
a
=
0。
但是严格来说const修饰只是产生了不可变变量,并不是严格意义上的常量。
2、字符串常量,例如
char
*a
=
“abc”;那么字符串“abc”就是一个字面值字符串,这是一个常量,其地址就是这个字符串第一个字符所在的地址。
再有像是字面值数字
“int
a
=
5″里边的5,是没有地址的。
表达式本身作为代码,并不拥有地址。但是用来组成表达式的变量或常量是可以拥有地址的。
获取一个常量或变量的地址可以用“”取址符,例如:
const
int
b
=
0;
const
int
*
pb
=
b;
那么pb里边就是b的地址了。