一维数组char到底怎么用?

为什么在这里不能用char?和string的区别在哪里?以及应该如何正确使用?

char name[3];

说明name这个数组每个单元存储的是 char 类型也就是字符类型的数据。

string name[3];

说明name这个数组每个单元存储的是 string 类型也就是字符串类型的数据。


"张三" “李四” 是字符串类型的

非要用char 类型的可以定义如下:

char name[3][3] = {"张三","李四","王五"};


//分布如下

name[0][0]//张

name[0][1]//三

name[0][2]//\0


name[1][0]//李

name[1][1]//四

name[1][2]//\0


name[2][0]//王

name[2][1]//五

name[2][2]//\0


name[0]//张三\0

name[1]//李四\0

name[2]//王五\0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-10-14

    string是,char是字符。

    string name[3]={"张三","李四",""};是声明了一个名为name的有3个字符串元素的字符串数组,每个元素都是一个字符串,并依次用"张三","李四","王五"3个字符串来初始化。合法。

    char name[3]={"张三","李四","王五"};是声明了一个名为name的有3个字符元素的字符数组,每个元素都是一个字符,并试图依次用"张三","李四","王五"3个字符串来初始化,显然=左右两边类型不匹配。非法。

    若把char name[3]={"张三","李四","王五"};改成char name[3][5]={"张三","李四","王五"};就合法了,意思是声明了一个名为name的3行5列的,每一行最多可以有5个字符。刚好,"张三","李四","王五"每个字符串都是5个字符,所以合法。

追问

谢谢谢谢

本回答被提问者采纳
第2个回答  2021-12-04

建议你这样试试看:

     一维数组char的画,每一个存的是字符,用‘字符’表示

    字符串的话,则是"字符串"

    区别:字符串存得字符比字符多,而字符只能存一个

    一般的话,使用字符串较多,除非是方法参数或返回值是字符才用字符

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网