目录
1. 字符指针与字符串的核心原理
字符串的本质
-
C语言中没有独立的字符串类型,字符串本质是 以
\0(空字符)结尾的字符数组。 -
字符串的存储方式:
-
字符数组:显式声明数组并初始化,如
char str[] = "Hello";。 -
字符指针:直接指向字符串字面量(存储在程序的只读内存区),如
char *p = "Hello";。
-
字符串的存储
在C语言中,字符串是以字符数组的形式存储的,并以空字符 \0 作为字符串的结束标志。下面通过文字描述和图示来解释C语言中的字符串存储规则。
假设有一个简单的字符串 "Hello",在内存中的存储形式如下:
地址 内存内容
-----------------
1000 'H' (72)
1001 'e' (101)
1002 'l' (108)
1003 'l' (108)
1004 'o' (111)
1005 '\0' (0) // 字符串结束标志
- 每个字符都占用一个字节的存储空间。
- '\0' 是字符串的结束标记,它告诉程序这个位置之前的所有字符属于当前字符串。
- 注意这里的地址(如1000)只是示意性的,实际的内存地址会根据系统分配情况有所不同。
图例表示
如果我们用图形的方式表示上述 "Hello" 字符串在内存中的存储方式,可以想象成如下布局:
+--------+--------+--------+--------+--------+--------+
| 1000 | 1001 | 1002

最低0.47元/天 解锁文章
846

被折叠的 条评论
为什么被折叠?



