怎么定义字符数组
C语言中没有字符串类型,也没有字符串变量,字符串是存放在字符型数组中的。用来存放字符数据的数组时字符数组。在字符数组中的一个元素内存放一个字符。
定义字符数组的方法与定义数值型数值的方法类似。
例如:char a[12];
定义了a为字符数组,包含12个元素。
字符数组的初始化
对字符数组初始化,最容易理解的方式是用“初始化列表”,把各个字符依次赋给数组中各元素。例如:
char c[10]={'T','' ,'a','m','','h','a','p','p','y'};
把10个字符依次赋给c[0]~c[9]这10个元素。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。
如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。
如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即0)。
如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。例如:
char c[]={'I','','a','m','','h','a','p','p','y'};
数组c的长度自动定为10。用这种方式可以不必人工去数字符的个数,尤其在赋初值的字符个数较多时,比较方便。
我们也可以定义和初始化一个二维字符数组。
怎样引用字符数组中的元素
我们可以引用字符数组中的一个元素,得到一个字符。
程序举例:输出一个已知的字符串
解题思路:先定义一个字符数组,并用初始化列表对其赋以初值。然后用循环逐个输出此字符数组中的字符。
编写程序:
#include <stdio.h> int main() {char a[]={'y','o','u',' ','a','r','e',' ','v','e','r','y',' ','g','o','o',d'}; int i; for(i=0;i<30;i++) printf("%c",a[i]); return 0;}
运行结果:
you are very good
字符串和字符串结束标志
在C语言中是将字符串作为字符数组来处理的。
C语言规定了一个字符串结束标志,以字符' '作为结束标志
注意:
由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整形数组来存放字符数据,但浪费存储空间。
C语言再用字符数组存储字符串常量时会自动加一个' '作为结束符。
欢迎大家关注、转发、评论、点赞;私信我即可获得更多相关知识,来一起交流吧~
还没有评论,来说两句吧...