字符是一种系统自带的数据类型,用char定义,一次只能储存一个字符
1 #include <stdio.h> 2 3 int main() 4 { 5 // 定义一个字符变量,存储一个字符 6 char ch = 'A'; 7 8 // 输出字符的ASCII码值 9 printf("The ASCII value of ch is %d\n", ch); 10 11 // 输出字符本身 12 printf("The character of ch is %c\n", ch); 13 14 // 修改字符的值 15 ch = 'B'; 16 17 // 输出修改后的字符 18 printf("The new character of ch is %c\n", ch); 19 20 return 0; 21 }
字符数组就是数组的一种,即一个数组中装的是字符,或者char类型的数组,由于里面的每一个下标对应一个字符,所以是把一群独立的字符装在一个盒子里,不能算是字符串,也不需要加#include <string.h>,末尾也不需要加空字符\0。
1 #include <stdio.h> 2 3 int main() 4 { 5 // 定义一个字符数组,存储一个字符串 6 char name[20] = "Alice"; 7 8 // 输出字符数组的内容 9 printf("The name is %s\n", name); 10 11 // 修改字符数组的内容 12 name[0] = 'B'; 13 14 // 输出修改后的字符数组 15 printf("The new name is %s\n", name); 16 17 return 0; 18 }
C语言中没有字符串这个类型,所以也可以理解为字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。判断字符串时的长度不需要加上\0的长度,但是考虑字符串数组时,因为要给\0留空间,所以字符串数组需要考虑\0的长度。
1 #include <stdio.h> 2 #include <string.h> 3 4 int main() 5 { 6 // 定义一个字符数组,存储一个字符串 7 char name[20] = "Alice"; 8 9 // 定义一个字符指针,指向一个字符串字面量 10 char *greeting = "Hello"; 11 12 // 输出字符串的长度,不包括空字符'\0' 13 printf("The length of name is %d\n", strlen(name)); 14 15 // 输出字符串的内容 16 printf("%s, %s!\n", greeting, name); 17 18 // 修改字符串的内容 19 name[0] = 'B'; 20 21 // 拼接两个字符串,注意目标数组要有足够的空间 22 strcat(name, "ob"); 23 24 // 输出修改后的字符串 25 printf("The new name is %s\n", name); 26 27 return 0; 28 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)