Menu
CoddyTech

C 风格字符串第 2 部分

本课属于 Coddy C++ 学习旅程的“基础知识”单元。第 68 课,共 74 课。

请记住,声明指定大小的 C 风格字符串时,你需要分配足够的空间来存储你想保存的字符,还要额外留出一个位置存放空字符。

例如:

// 正确:“Hello”需要 6 个空间
// (5 个字母 + '\0')
char str1[6] = "Hello";
// 错误:数组太小了!
// "Hello" 需要 6 个位置,但只给了 5 个。
char str2[5] = "Hello";
// 错误:无法编译,只有 5 个位置,却要存放 6 个字符('H','e','l','l','o','\0')。
// 正确:多留一些空间没关系
// 空间绰绰有余(10 > 6,实际只需要 6)
char str3[10] = "Hello";
// 展示字符数量的示例:
char name[5] = "John";  // 需要 5 个存储位置:
// J + o + h + n + '\0' = 5 个字符

你可以使用数组表示法访问 C 风格字符串中的单个字符:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

你也可以修改 C 风格字符串中的字符,但不能超出数组的边界:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // 输出 "Jello"

不过,声明 C 风格字符串后,你不能直接为它赋一个新字符串。你需要使用 strcpy 这样的函数来复制字符串,我们会在后面的课中讲解。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: C++ 在线编译器