当前位置:

首页 > 问答百科 > 数码

字符数组只能存放字符串吗

2024-05-18 阅读数:819

优质回答

C语言中字符数组既可以保存字符,又可以保存字符串。C语言中字符数组的一般形式为:char数组名[数据长度]。例如:chara[10];a[0]='0';a[1]='1';a[2]='2';a[3]='3';a[4]='4';a[5]='5';a[6]='6';a[7]='7';a[8]='8';a[9]='9';就定义了a为字符数组,包含10个"0"到“9”的字符元素。因此,C语言中字符数组不单单只能保存字符串。

字符数组是指用来存放字符数据的数组。其定义的一般形式为:char数组名[数据长度]。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的。

字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。用字符常量逐个初始化数组。例如:chara[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。

如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0')。