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"

双引号做了3件事:  
1.申请了空间(在常量区),存放了字符串 
2. 在字符串尾加上了'/0'    
3.返回地址


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM