C语言之——字符数组与字符串

目录

一,什么是字符数组

1,数组中的元素能有哪些类型

二,如何用字符数组表示字符串

3,对字符串的操作。


一,什么是字符数组

字符数组是特殊的整数有序集合

——每个整数占用一个对应的类型字节

——可以用字符字面量对数组元素进行初始化或者赋值

——常用来存储可阅读的文本信息

1,数组中的元素能有哪些类型

包含所有基本类型。

例如:

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

1,对字符串的操作。

C语言中,不能直接对字符串操作,操作时需要应用字符串工具包。

#include <string.h>

包含的字符串工具包如下:

strlen (s)                               获取字符串长度。

strcpy (S1,S2)                       将S2中的字符复制给S1。

strcat (S1,S2)                        将S2追加到S1后面。

strcrmp (S1,S2)                    比较S1和S2是否相等,相等输出0。

猜你喜欢

转载自blog.csdn.net/m0_58702068/article/details/118771476