Hello 大家好
欢迎关注编程猎人
本人小白一枚
一个立志成为分享编程干货的博主
一,什么是字符数组
二,如何用字符数组表示字符串
三,对字符串的操作
一,什么是字符数组
字符数组是特殊的整数有序集合
——每个整数占用一个对应的类型字节
——可以用字符字面量对数组元素进行初始化或者赋值
——常用来存储可阅读的文本信息
数组中的元素能有哪些类型呢?
包含所有基本类型。
例如:
int a[] = {1, 3, 5, 8 };char b[] = {'H', 'i' };
二,如何用字符数组表示字符串
在C语言中,没有专门的字符串类型(字符串:用 " " 括起来的部分就是字符串 ),所以没有字符串变量。
但是可以通过字符数组间接表示字符串变量。
存在字符串字面量("hello."),但仅仅只能当作常量使用。
例如:
#define a "hello."printf("%s\n", a );
用""括起来的都是字符串。
用数组表示字符串,只需要在数组最后一个元素加上0元素('\0')后,才是字符串。
问:字符串的0元素是啥?(在''中只表示一个字符,仅此而已)
'\0'表示的是0元素。
'0'表示的对于整数是48.
字符数组不一定是字符串,但字符串一定是一个字符数组。
char s[] = "hello" ;char s[] ={"hello"};char s[] = {'h', 'e', 'l', 'l', 'o', '\0' };
输出的均是hello
三,对字符串的操作。
C语言中,不能直接对字符串操作,操作时需要应用字符串工具包。
#include
包含的字符串工具包如下:
strlen (s) 获取字符串长度。
strcpy (S1,S2) 将S2中的字符复制给S1。
strcat (S1,S2) 将S2追加到S1后面。
strcrmp (S1,S2) 比较S1和S2是否相等,相等输出0。
今天的分享到这里就结束了,不知道大家有没有学废呢?学废的朋友可以把“学废了”敲在留言上,或者和笔者讨论哦。
这是笔者的微信公众号,欢迎关注!