字符数组的初始化
对字符数组的初始化:char str={“I love fishc.com!”};不能等价于char str; str[]=”I love fishc.com!”;按形式看:
上面的是声明和定义放在一起
下面的是先声明,再定义~~
为什么不能等价?有什么不同?
char str;
str[]=”I love fishc.com!”;这么写是不合法的,编译器不通过 char str[]= "I love fishc.com!";, 这样定义是可以的,在前面已经声明他是str的时候编译器就不再认可这种定义方式,因为char类型实际上接受的是一个个字符,str数组最后一个字符时'\0'.单独赋值是没有问题的,比如str = 'I',str = ' ', str = 'l'...后面依次类推,当然用指针可以更加快捷,其实数组和指针关系极其微妙的说. 本帖最后由 oggplay 于 2014-3-23 20:55 编辑
看看编译器信息就知道了
必须写完整str
页:
[1]