C语⾔字符串定义
⼀.字符串(单个字符)的定义
1.单个字符的定义
char i = ‘x’ (单个字符的定义)
字符串创建后为常量⽆法修改
2.⼀维字符串数组的定义
char i []=”xxxx”;(此⽅式定义的⼀维字符串数组必须⽴刻赋值)
char i [4];(此⽅式相当于在存储器⾥⾯建⽴⼀个可以存储3个字符的数组空间)
char i [4]=”xxxx”;
char i [4]={‘x’’x’’x’’x’};
其中定义的数组的元素数要⽐实际赋值的数量多⼀,⽤于存放\0位置
字符数组只有在定义时才能将整个字符串⼀次性地赋值给它,⼀旦定义完了,就只能⼀个字符⼀个字符地赋值了。
3.⼆维字符串数组的定义
char i[][80] = {
“xxxxxxx”,
“xxxxxxx”,
};
第⼀个⽅括号代表数组的⾏数,第⼆个⽅括号代表数组的列数,同时定义字符的个数(要⽐实际应⽤多⼀,⽤于存放\0位置)。⼆.字符串(单个字符)和⼀维字符数组输⼊
1.scanf函数
给字符串(单个字符)赋值
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”
c语言如何创建字符串数组双引号做了3件事:
1.申请了空间(在常量区),存放了字符串
2. 在字符串尾加上了’/0’
3.返回地址
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论