一.字符串(单个字符)的定义数组
1.单个字符的定义函数
char i = ‘x’ (单个字符的定义)
字符串建立后为常量没法修改spa
2.一维字符串数组的定义指针
char i []=”xxxx”;(此方式定义的一维字符串数组必须马上赋值) char i [4];(此方式至关于在存储器里面创建一个能够存储3个字符的数组空间) char i [4]=”xxxx”; char i [4]={‘x’’x’’x’’x’};
其中定义的数组的元素数要比实际赋值的数量多一,用于存放\0位置code
字符数组只有在定义时才能将整个字符串一次性地赋值给它,一旦定义完了,就只能一个字符一个字符地赋值了。blog
3.二维字符串数组的定义rem
char i[][80] = { "xxxxxxx", "xxxxxxx", };
第一个方括号表明数组的行数,第二个方括号表明数组的列数,同时定义字符的个数(要比实际应用多一,用于存放\0位置)。字符串
二.字符串(单个字符)和一维字符数组输入string
1.scanf函数it
给字符串(单个字符)赋值
scanf(“%2s”, &x);(其中x为定义的char类型变量的名字)
给字符数组赋值
scanf(“%2s”, x);(其中x为定义的字符数组名字)
三. 字符串(单个字符)和一维字符数组的输出
1.单个字符的输出
printf (“%c”, x);对单个字符进行输出
X为char类型变量的名字
2.字符数组的输出
printf(“%s”, x);对字符串进行输出
X为字符数组名
四.字符串的处理
1.string.h头文件的使用
定义方法:#include <string.h>
经常使用的几个函数及功能:
strchr() 查找字符
stremp() 比较字符串
strstr() 在字符串中查找字符串 ,使用方法:strstr("被查找字符串", "须要查找的字符串");
strcpy() 复制字符串
strlen() 返回字符串的长度
strcat() 链接字符串
strdup() 复制字符串到堆上
strcmp() 用于比较两个字符串并根据比较结果返回整数。基本形式为strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数
atoi 函数(在<stdlib.h>库文件中),
五.字符数组与指针之间一些注意事项
1.指针退化问题
char s[] ="xxxx"; char * t = s;
字符数组变量赋值给指针时,指针变量只会包含数组的地址信息,而丢失了数组的长度信息,这个信息的丢失称为指针退化。
char * a = "xxxx"
双引号作了3件事: 1.申请了空间(在常量区),存放了字符串 2. 在字符串尾加上了'/0' 3.返回地址