August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
char数组可用字符串字面值常量初始化。例如:
数一数字符数,只有5个,但ac是一个含有6个字符的数组,因为编译器会在字符串字面值常量的末尾添加一个字符0表示结束:
字符串以0结尾在C语言和很多系统中是规范表示方法。我们称这种以0结尾的字符数组为C风格字符串(C-style string)。所有字符串字面值常量都是C风格字符串。例如:
该字符串可图示如下:
注意,数值为0的char不是字符‘0’或者其他的任何字母或数字。这种结尾0的目的在于帮助函数定位字符串的结束。记住,数组并不知道自身大小。依赖以0结尾这一规范,我们可以编写如下代码:
实际上,我们不需要自己实现strlen(),因为它是一个标准库函数,定义在头文件<string.h>中(见27.5节和附录C10.3)。注意,strlen()只统计字符数,并不统计结尾的0;也就是说,我们需要n+1个char以存储n个字符的C风格字符串。 ...