决不要停止自学,也不要忘记,不管你已经学到了多少东西,已经知道了多少东西,知识和学问是没有止境的一鲁巴金
字符数组字符数组就是用于存放字符型数据的数组。在C语言中,字符串是作为字符数组来处理的,没有专门的字符串变量。字符串十分常用,因此C语言提供了许多专门处理字符串的函数。
字符数组的定义字符数组是用于存放字符变量的数组,每个数组元素存放一个字符。字符数组的定义和数值型数组类似:
与数值型数组相同,需要使用下标来访问字符数组元素,下标值0开始。
字符数组在内存中的存储由于字符型和整型通用,也可以使用整型数组来存放字符数据,但这样浪费空间。同样也可以定义二维字符数组。
b[0]
b[1]
....
b[5]
.....
b[9]
1
h
y
字符数组的初始化1.对数组元素逐个赋初值,这个方法与数值型数组类似
最后一个数组元素没有赋初值,自动赋值为空字符(即' ',其ASCII的值为0,是一个非打印字符)
2.用字符串初始化,c语言规定,可以将字符串直接赋值给字符数组用于初始化。
事实上在实际运用过程中常省略花括号,甚至省略数组长度
注:存储长度为字符串中字符个数+1,因为' '作为结束字符也占一个长度。
字符数组只有在初始化时才能将整个字符串一次性地赋值,一定义完,就只能逐个字符赋值。
字符串与字符串结束标志C语言中,用双引号引起来的内容为字符串常量。没有专门用于存储字符串变量的类型,字符串被存储在以空字符('n')结尾的char类型的数组中。空字符用来标记字符串结束的位置,因此' 0'也被称为字符串结束标志或者字符串结束符。0'是ASCII码表中的第0个字符,英文称为NUL,中文称为“空字符”。该字符既不能显示,也没有控制功能,输出该字符不会有任何效果。有了空字符作为字符串的结束符,就不必再以字符数组的长度来判断字符串的长度值得注意的是逐个字符地给数组赋值初始化并不会自动添加' ',需要我们人为地添加。
字符数组的引用和输入与输出字符数组的引用
字符数组的引用即字符数组元素的引用,如同字符型变量的使用,可以被赋值,参与表达式运算或进行输入输出。例如:
我们可以使用for语句逐个输出同时在C标准库中也为我们提供了一些函数为我们整体输入输出,在下面的文章中我会写到。
字符串的输入scanf()函数
使用scanf()函数和转换符%s