在定义字符数组时,可以不指定数组长度,系统会根据字符个数自动分配
如:char c[] = {‘C’,’h’,’i’,’n’,’a’}; 其长度为五个字符长度将字符串存到数组中
程序往往是依靠检查’\0’位置来判断字符串是否结束,而向内存储存时,系统会自动在最后一个字符后面加一个‘\0’作为字符串结束标志,所以存放字符串的数组的长度 = 字符个数之和+1字符数组的输入与输出
逐个字符输出,用格式符“%c”(%char)
将整个字符串一次性全部输入与输出,用格式符“%s”(%string)
例: char c[] = {“China”};
printf(“%s”,c); //该处只用写上数组名即可,数组名即代表了数组的首地址
//%s 是输出字符串时所用的格式符,在输出项中给出字符数组指针变量名c,则系统会输出c所指向的字符串中的第一个字符,然后会自动使c+1,指向下一个字符,再输出下一个字符… 直到遇到’\0’为止puts与gets(对字符串的操作)
puts(字符数组名)- 将整个字符串输出
gets(字符数组名) - 将从键盘获得一个字符串并储存到对应数组名的数组中
例:
char str[];
gets(str);//在执行该代码时会弹出窗口让用户输入要存储的字符串,如:China
puts(str);//执行了上一行代码中的gets以后数组就会存入“China”,执行该句时就会输出整个字符串“China”
结果:
China对字符串进行操作的函数
strcat - 字符串连接函数
使用方法:strcat(字符串数组1名称,字符串数组2名称);
用于两个字符串的连接strcpy(string copy) - 字符串复制函数
使用方法:strcpy(字符串数组1名称,字符串数组2名称);
用于将字符串2中的字符复制至1中(1中的字符串将会被整体覆盖)strncpy(string number copy) - 定量字符复制函数
使用方法:strncpy(字符串数组1名称,字符串数组2名称,n);
用于将字符串2中的前n个字符复制到1中的前n个字符strcmp(string compare) - 字符串比较函数
使用方法:strcmp(字符串数组1名称,字符串数组2名称);
用于对两个字符串从左至右逐个字符进行比较
比较原则:
若两个字符串完全相同(即 = ),则返回0
若不同,以第一个不同字符为准比较大小(小写>大写,排在后面的字母>排在前面的字母)
若>0,返回正整数
若<0,返回负整数strlen(string length) - 测量字符串长度
使用方法:strlen(字符串数组名称);
用于测量一个字符串的长度(不包括’\0’)
例:
char str[] = {“China”};
printf(”%d”,strlen(str));
结果:5
C语言复习——字符数组
最新推荐文章于 2025-01-09 20:26:08 发布