C 教程

浏览5954
更新时间2025-08-05

字符串

字符串用于存储文本/字符。

例如,"Hello World" 就是一个由字符组成的字符串。

与许多其他编程语言不同,C 没有 String 类型来轻松创建字符串变量。相反,您必须使用 char 类型并创建一个字符数组来在 C 中生成字符串:

char greetings[] = "Hello World!";

请注意,您必须使用双引号 ("")。

要输出字符串,您可以使用 printf() 函数和格式说明符 %s 来告诉 C,我们现在处理的是字符串:

实例

char greetings[] = "Hello World!";
printf("%s", greetings);
运行实例 »

点击 "运行实例" 按钮查看在线实例

访问字符串

由于字符串实际上是 C 中的数组,因此您可以通过引用方括号 [] 内的索引号来访问字符串。

此例打印 greetings 中的第一个字符 (0)

实例

char greetings[] = "Hello World!";
printf("%c", greetings[0]);
运行实例 »

点击 "运行实例" 按钮查看在线实例

请注意,我们必须使用 %c 格式说明符来打印单个字符

修改字符串

要更改字符串中特定字符的值,请引用索引号并使用单引号

实例

char greetings[] = "Hello World!";
greetings[0] = 'J';
printf("%s", greetings);
// 输出 Jello World! 而不是 Hello World!
运行实例 »

点击 "运行实例" 按钮查看在线实例

遍历字符串

您也可以使用 for 循环来遍历字符串中的字符:

实例

char carName[] = "Volvo";
int i;

for (i = 0; i < 5; ++i) {
  printf("%c\n", carName[i]);
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

正如我们在数组章节中所述,您还可以使用 sizeof 公式(而不是在循环条件中手动写入数组的大小(i < 5)),以使循环更加灵活:

实例

char carName[] = "Volvo";
int length = sizeof(carName) / sizeof(carName[0]);
int i;

for (i = 0; i < length; ++i) {
  printf("%c\n", carName[i]);
}
运行实例 »

点击 "运行实例" 按钮查看在线实例

创建字符串的另一种方式

在上面的示例中,我们使用了“字符串字面值”来创建字符串变量。这是在C中创建字符串的最简单方法。

您还应该注意,您可以使用一组字符来创建字符串。这个示例将与本页开始的示例产生相同的结果:

实例

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
printf("%s", greetings);
运行实例 »

点击 "运行实例" 按钮查看在线实例

为什么我们在末尾包含 \0 字符?这被称为“空终止字符”,在使用此方法创建字符串时必须包含该字符。它告诉 C 这是字符串的结尾。

差异

创建字符串的两种方法之间的区别在于,第一种方法更容易编写,并且您不必包含 \0 字符,因为 C 会为您做这件事。

您应该注意,两个数组的大小是相同的:它们都有 13 个字符(顺便说一下,空格也算作一个字符),包括 \0 字符:

实例

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
char greetings2[] = "Hello World!";

printf("%lu\n", sizeof(greetings));   // 输出 13
printf("%lu\n", sizeof(greetings2));  // 输出 13
运行实例 »

点击 "运行实例" 按钮查看在线实例

现实生活中的例子

使用字符串创建简单的欢迎消息:

实例

char message[] = "很高兴见到你,";
char fname[] = "Bill";

printf("%s %s!", message, fname);
运行实例 »

点击 "运行实例" 按钮查看在线实例

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载