位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 字符数组的初始化

提问人:刘团圆发布时间:2020-11-30

字符数组的初始化形式和一维数组类似,可以通过为每个数组元素指定初值字符来实现。例如:

    char c[5]={'h ','e ', '1 ', '1 ', 'o'};

这样分别把初值提供的5个字符分配给字符数组中的5个元素c[0]~c[4]。

也可以对字符数组中部分元素赋初值。例如:

    char c[5]={'h ', 'e ', '1 '};

从图中可以看出,如果不对字符数组初始化,字符数组元素的值是不确定的。而如果对字符数组初始化后,即便是部分赋值,没有得到赋值的元素中的内容也不再是确定的,而是‘\0’的形式,如下所示。

c[0] c[1] c[2] c[3] c[4]

  h       e       I       \0     \0


同一维数组初始化一样,如果提供的初值个数与数组的长度相同,可在定义时省略数组长度,系统将根据初值个数为字符数组分配内存空间。例如:

char c[]={'h',  'e ',  '1 ',  '1 ',  'o'};

则字符数组c的长度由系统自动确定为5。

同整型、浮点型数组一样,字符数组也可以定义和初始化二维数组,形式为:

    char ch2[3][5]={{'c'},{'c','+','+',},{'c','#'}};

二维字符数组多用于多个字符串的处理。可以看出这样的初始化形式对于二维字符数组来说,太麻烦,所以在后面将介绍用字符串初始化二维字符数组。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部