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,字符串组的大小。

相关推荐
意疏6 分钟前
JDK动态代理、Cglib动态代理及Spring AOP
java·开发语言·spring
程序员_三木6 分钟前
使用 Three.js 创建圣诞树场景
开发语言·前端·javascript·ecmascript·three
小王努力学编程8 分钟前
【C++篇】AVL树的实现
java·开发语言·c++
Jillyli18 分钟前
气相色谱-质谱联用分析方法中的常用部件,分流平板更换
科技·学习·其他·电脑
找了一圈尾巴19 分钟前
Wend看源码-Java-集合学习(List)
java·学习
无名之逆20 分钟前
lombok-macros
开发语言·windows·后端·算法·面试·rust·大学期末
yuanbenshidiaos24 分钟前
C++-----图
开发语言·c++·算法
莫奈的日出33 分钟前
PS等软件学习笔记
笔记·学习·ps/pr学习笔记
爱编程的小新☆40 分钟前
不良人系列-复兴数据结构(二叉树)
java·数据结构·学习·二叉树
小娄写码1 小时前
线程池原理
java·开发语言·jvm