首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于字符数组初始化的有关问题

2012-03-09 
关于字符数组初始化的问题我在读到的一本c语言书上写着:字符串赋值给一个字符数组是无效的,除非在一条声明

关于字符数组初始化的问题
我在读到的一本c语言书上写着:字符串赋值给一个字符数组是无效的,除非在一条声明语句中完成。
 我试验了一下的确如此:
char oo[8];
oo[8] = "england";
是错误的,编译器提示:cannot convert from 'char [8]' to 'char'

char oo[] = "england";
就能顺利编译,这是为什么阿?也许有人会说就是这么规定的。但我想凡事都有个道理,哪位高手能帮忙回答一下,谢谢。

[解决办法]
其实这也是我的个人习惯而已

但是,不要把一个常量出现在你的代码中,这时一个基本的原则

手工加\0\0也是习惯,显式的写出字符串末尾,这为你调试程序,和别人读你的程序的时候会带来方便的

其实完全可以写成

strcpy(&oo[0], "england");


没人敢说一个错的~~~~呵呵~~~~~~

热点排行