第三章 字面量
3.1整数常量
十进制常量起始数字不可为0
以0开始的数字会被解释成八进制
十六进制以0x或0X作前缀
3.2浮点常量
默认类型为double,也可用后缀f或F来说明该常量是float型
3.3字符串常量
字符串常量可以初始一个char数组,也可以初始化一个指向char的指针,例:
char *p = "hello, zcy!"; //p指向字符'h'
虽然C语言没有严格禁止修改指针指向的字符串字面量,但也不能试图这么做,以下做法是不好的:
char *p = "hello, zcy!";
*p = "hi, acm!"; //这样做很不好
这样做导致语句不具备可移植性,在某些系统下会产生运行错误。原因有两个:
(1)一些编译器将字符串字面量视为常量,可能将其存在只读存储器中,对其进行写操作将会产生错误
(2)程序中有两个或更多完全相同的字符串字面量,编译器可能会将它们存储在相同的位置,因此修改一个字符串会对其他字符串造成影响。
而使用字符串字面量初始的数组变量不会产生这种影响
如果有写的不对或者不全面的地方 可通过主页的联系方式进行指正,谢谢