怎么定义字符数组
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 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