关于数组的一点点疑问
两种定义方式:char a = "nihao";
char a ={'n','i','h','a','o'};
在内存中有什么区别吗?
我们老师说什么会在后面自动补上一个‘\0’ , 有点不懂。
第一种方式是按字符串的方式定义 a,编译器会自动在字符串的末尾添加一个 '\0',作为字符串结束标志,第二种方式是按字符数组来定义 a,那么,编译器会不折不扣地严格按照用户的定义来编译处理变量 a,不会有任何额外的补充操作。
不过作为常量字符串,楼主不应该指定字符数组的长度:
char a[] = "nihao";
这样,可以减少出错。
页:
[1]