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

品牌型号:华为MateBook D15
系统:Windows 10

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

文章插图
【字符数组只能存放字符串吗】C语言中字符数组既可以保存字符,又可以保存字符串 。C语言中字符数组的一般形式为: char 数组名[数据长度]。例如:char a[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语言中没有字符串类型,字符串是存放在字符型数组中的 。
字符数组的初始化与数值型数组初始化没有本质区别 。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化 。用字符常量逐个初始化数组 。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素 。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的 。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误 。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'\0') 。