鱼C论坛

 找回密码
 立即注册
查看: 2106|回复: 3

字符数组的初始化

[复制链接]
发表于 2014-3-23 14:28:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
对字符数组的初始化:
char str[20]={“I love fishc.com!”};
不能等价于
char str[20];
        str[  ]=”I love fishc.com!”;
按形式看:
上面的是声明和定义放在一起
下面的是先声明,再定义~~

为什么不能等价?有什么不同?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-23 16:08:26 | 显示全部楼层
char str[20];
str[  ]=”I love fishc.com!”;
这么写是不合法的,编译器不通过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-23 20:30:52 | 显示全部楼层
char str[]= "I love fishc.com!";, 这样定义是可以的,在前面已经声明他是str[20]的时候编译器就不再认可这种定义方式,因为char类型实际上接受的是一个个字符,str数组最后一个字符时'\0'.单独赋值是没有问题的,比如str[0] = 'I',str[1] = ' ', str[2] = 'l'...后面依次类推,当然用指针可以更加快捷,其实数组和指针关系极其微妙的说.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-3-23 20:40:36 | 显示全部楼层
本帖最后由 oggplay 于 2014-3-23 20:55 编辑

看看编译器信息就知道了

必须写完整str[20]

抓图4.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 00:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表