mack1983 发表于 2014-3-23 14:28:42

字符数组的初始化

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

为什么不能等价?有什么不同?

水墨君 发表于 2014-3-23 16:08:26

char str;
str[]=”I love fishc.com!”;这么写是不合法的,编译器不通过

谓我心忧 发表于 2014-3-23 20:30:52

char str[]= "I love fishc.com!";, 这样定义是可以的,在前面已经声明他是str的时候编译器就不再认可这种定义方式,因为char类型实际上接受的是一个个字符,str数组最后一个字符时'\0'.单独赋值是没有问题的,比如str = 'I',str = ' ', str = 'l'...后面依次类推,当然用指针可以更加快捷,其实数组和指针关系极其微妙的说.

oggplay 发表于 2014-3-23 20:40:36

本帖最后由 oggplay 于 2014-3-23 20:55 编辑

看看编译器信息就知道了

必须写完整str

页: [1]
查看完整版本: 字符数组的初始化