字符是一种系统自带的数据类型,用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 }
标签:字符,ch,name,数组,printf,字符串
From: https://www.cnblogs.com/zaiyewujiang/p/17233972.html