字符串
字符串常量
格式:
“hello Word”
注意是双引号
字符串的长度
sizeof(“hello Word”)
字符串和字符数组
1.常量字符串不可更改。因为,字符 串常量存储在数据段的只读数据段。
2.字符数组存储字符串
3.等价条件
字符数组跟字符串某些方面是完全等价的。要实现等价,字符数组的大小要比字符串的大小要大。
4.不等价条件
如果字符数 组的大小比字符串的大小,要小。此时,字符串会被截断,拷贝到字符数组中去。此 时字符串,和被拷贝到数组中的字符串之间不存在等价关系。
字符串的输入与输出
输出printf
加粗样式printf 的格式字符串”%s”,可以用于输出字符串
printf("%s\n","abcdefg");
输入scanf
scanf 遇到空格会截止输入。但是要记得,不要输入的字符长度超过给定的空间 大小。在不越界的情况下,scanf 会自动在字符串后面追加’\0’。
字符串操作函数
1.求字符串长度
int main()
{
char array[100] = "china";
printf("%s\n",array);
int count = 0;
for(int i=0; i<100; i++)
{
if(array[i] != '\0') count++;
} //求字符串的大小的时候,通常不把字符\0 计算在内
printf("count = %d\n",count);
return 0;
}
2.链接两个字符串
#include <stdio.h>
int main()
{
char firstName[30] = "jim ";
char lastName[30] = "Green";
char *p;
for( p = firstName; *p != '\0';p++);
for(char *q = lastName; *p = *q; p++,q++);
printf("name = %s\n",firstName);
return 0;
}
3.库函数操作
与字符串有关的内置函数在头文件 string.h 中定义要使用标准库字符串处理函数,
#include<stdio.h>
strlen
strcat
strcpy
strcmp