C语言随笔:字面量

字面量(Literal)是指程序源代码中直接写出的固定值。字面量用于表示数据常量,它们在程序编译时被直接解析并用于程序运行。

常见的字面量类型

  1. 整数字面量(Integer Literals)

    • 描述:表示整数值。
    • 示例
      • 十进制:42
      • 八进制(以0开头):052(表示十进制的42)
      • 十六进制(以0x0X开头):0x2A(表示十进制的42)
  2. 浮点字面量(Floating-point Literals)

    • 描述:表示带小数点的数值。
    • 示例
      • 标准浮点数:3.14
      • 科学记数法:1.5e2(表示150.0)
  3. 字符字面量(Character Literals)

    • 描述:表示单个字符。
    • 示例
      • 单引号括起来的字符:'a'
      • 特殊字符:'\n'(表示换行符)
  4. 字符串字面量(String Literals)

    • 描述:表示一系列字符组成的字符串。
    • 示例
      • 双引号括起来的字符序列:"Hello, World!"
      • 多行字符串(在某些语言中支持):"""This is a multi-line string"""
  5. 布尔字面量(Boolean Literals)

    • 描述:表示逻辑布尔值。
    • 示例
      • true
      • false
  6. 空值字面量(Null Literals)

    • 描述:表示没有值的状态。
    • 示例
      • C/C++: NULL0
      • Java: null
      • Python: None

注意:所以当在函数中定义一个指针:

cpp 复制代码
void fun(void){

    char *p = "Hello World";
    char carr = "Hello World";
}

其中指针p指向的就是一块字符串常量,其内容不可改变,但p指针本身指向的地址可以改变,并且指针p可以当做函数的返回值。

对于数据carr,他只能是一个局部变量,函数调用完毕后被释放,但其内容可变,但不能当做函数的返回值。

更多的是,sizeof(p)返回的是4,sizeof(carr)返回的是是11,字符串组的大小。

相关推荐
charlie114514191几秒前
STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出
c语言·stm32·单片机·嵌入式硬件·gpio·数据手册
划水哥~1 分钟前
创建QMainWindow菜单栏
开发语言·c++·qt
矿渣渣2 分钟前
int main(int argc, char **argv)C语言主函数参数解析
c语言·开发语言
Cynthia的梦2 分钟前
Linux学习-Linux进程间通信(IPC)聊天程序实践指南
linux·运维·学习
阿让啊6 分钟前
bootloader+APP中,有些APP引脚无法正常使用?
c语言·开发语言·stm32·单片机·嵌入式硬件
饕餮ing9 分钟前
C++的UDP连接解析域名地址错误
开发语言·c++·udp
莲动渔舟11 分钟前
Nyquist插件基础:打印格式化字符串(LISP语言)
开发语言·lisp·音频处理·audacity
满怀101522 分钟前
Python入门(5):异常处理
开发语言·python
攀小黑25 分钟前
Java 多线程加锁 synchronized 关键字 字符串当做key
java·开发语言
每次的天空35 分钟前
Kotlin 作用域函数:apply、let、run、with、also
android·开发语言·kotlin