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为定义的字符数组名字)

2.fgets函数

char food[5];
printf("Enter favorite food:");
fgets(food, 5, stdin);
food[strlen(food) - 1]='\0';

fegets括号里面内容的意思:food(字符数组的名字),sizeof(food)接收字符的最大长度,stdin数据来自键盘
必须要搭配food[strlen(food) - 1]='\0';此句,将用户输入的有效字符的最后一位赋值为\0。


与scanf比较,此函数可以让用户输入含有空格的字符串

三. 字符串(单个字符)和一维字符数组的输出

1.单个字符的输出

printf (“%c”, x);对单个字符进行输出

X为char类型变量的名字

2.字符数组的输出

printf(“%s”, x);对字符串进行输出

X为字符数组名

四.字符串的处理

1.string.h头文件的使用
定义方法:#include <string.h>


常用的几个函数及功能:
strchr() 查找字符
stremp() 比较字符串
strstr() 在字符串中查找字符串 ,使用方法:strstr("被查找字符串", "需要查找的字符串");
strcpy() 复制字符串
strlen() 返回字符串的长度
strcat() 连接字符串

五.字符数组与指针之间一些注意事项

1.指针退化问题

char s[] ="xxxx";
char * t = s;

字符数组变量赋值给指针时,指针变量只会包含数组的地址信息,而丢失了数组的长度信息,这个信息的丢失称为指针退化。

 

转载于:https://www.cnblogs.com/renren-study-notes/p/11615952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值