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

相关推荐
luj_17685 小时前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法
不听话坏6 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi076 小时前
require 和 import的区别
开发语言·前端
远离UE46 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬6 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
KaMeidebaby7 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
心中有国也有家8 小时前
AtomGit Flutter 鸿蒙客户端: ChangeNotifier 模式
学习·flutter·华为·harmonyos
luj_17688 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
取地址符8 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
Mininglamp_27188 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native