字面量(Literal)是指程序源代码中直接写出的固定值。字面量用于表示数据常量,它们在程序编译时被直接解析并用于程序运行。
常见的字面量类型
-
整数字面量(Integer Literals)
- 描述:表示整数值。
- 示例 :
- 十进制:
42
- 八进制(以
0
开头):052
(表示十进制的42) - 十六进制(以
0x
或0X
开头):0x2A
(表示十进制的42)
- 十进制:
-
浮点字面量(Floating-point Literals)
- 描述:表示带小数点的数值。
- 示例 :
- 标准浮点数:
3.14
- 科学记数法:
1.5e2
(表示150.0)
- 标准浮点数:
-
字符字面量(Character Literals)
- 描述:表示单个字符。
- 示例 :
- 单引号括起来的字符:
'a'
- 特殊字符:
'\n'
(表示换行符)
- 单引号括起来的字符:
-
字符串字面量(String Literals)
- 描述:表示一系列字符组成的字符串。
- 示例 :
- 双引号括起来的字符序列:
"Hello, World!"
- 多行字符串(在某些语言中支持):
"""This is a multi-line string"""
- 双引号括起来的字符序列:
-
布尔字面量(Boolean Literals)
- 描述:表示逻辑布尔值。
- 示例 :
true
false
-
空值字面量(Null Literals)
- 描述:表示没有值的状态。
- 示例 :
- C/C++:
NULL
或0
- Java:
null
- Python:
None
- C/C++:
注意:所以当在函数中定义一个指针:
cpp
void fun(void){
char *p = "Hello World";
char carr = "Hello World";
}
其中指针p指向的就是一块字符串常量,其内容不可改变,但p指针本身指向的地址可以改变,并且指针p可以当做函数的返回值。
对于数据carr,他只能是一个局部变量,函数调用完毕后被释放,但其内容可变,但不能当做函数的返回值。
更多的是,sizeof(p)返回的是4,sizeof(carr)返回的是是11,字符串组的大小。