首页 理论教育 字符数组初始化方法C语言程序设计教程

字符数组初始化方法C语言程序设计教程

时间:2023-10-23 理论教育 版权反馈
【摘要】:用字符串常量对字符数组初始化。图7-8字符数组的存储情况系统存储字符串常量时会自动在末尾加上“\0”,把“\0”作为字符串结束标志。编写程序,用字符数组存放字符串并输出。定义字符数组,并完成初始化赋值,使用循环结构逐个引用元素。printf()函数中的输出项是字符数组名而不是数组元素。

字符数组初始化方法C语言程序设计教程

字符数组初始化有以下形式。

(1)对数组元素连续赋值,字符常量放在一对大括号中以逗号分隔。

例如:

若对所有元素都赋值,可以省略数组长度,由系统根据值的个数确定数组长度。当然也可以只给部分元素赋值。

例如:

只给前5个元素赋值,其余元素由系统自动赋值为“\0”(即空字符)。

(2)用字符串常量对字符数组初始化。

例如:

或者省略大括号,写成“char c[10]=“hello”;”,字符数组中内容如图7-8所示。

图7-8 字符数组的存储情况

系统存储字符串常量时会自动在末尾加上“\0”,把“\0”作为字符串结束标志。所以在用字符数组存放字符串时,数组的长度要比实际的字符个数多1,以便存放“\0”。(www.xing528.com)

例如:char c[5]="hello";

显然数组提供的空间不够用,“\0”会占用数组以外的存储单元,极有可能破坏其他数据的正确。

注意:字符数组长度与字符串的实际长度是不一样的。

【例7-5】编写程序,用字符数组存放字符串并输出。

【分析】定义字符数组,并完成初始化赋值,使用循环结构逐个引用元素。

分别采用两种方法编写程序。

方法1:

方法2:

程序运行结果如图7-9所示。

图7-9 例7-5的运行结果

【说明】两种方法结果一样,但第二种方法更简洁些。第一种采用“%c”逐个输出字符,第二种采用“%s”输出整个字符串。若用“%s”输出,则遇到“\0”就结束输出,且输出的字符中不包含“\0”。printf()函数中的输出项是字符数组名而不是数组元素。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈