pesticide 发表于 2019-10-23 17:53:56

关于数组的一点点疑问

两种定义方式:

char a = "nihao";

char a ={'n','i','h','a','o'};

在内存中有什么区别吗?



我们老师说什么会在后面自动补上一个‘\0’ , 有点不懂。

jackz007 发表于 2019-10-23 18:08:24

      第一种方式是按字符串的方式定义 a,编译器会自动在字符串的末尾添加一个 '\0',作为字符串结束标志,第二种方式是按字符数组来定义 a,那么,编译器会不折不扣地严格按照用户的定义来编译处理变量 a,不会有任何额外的补充操作。
      不过作为常量字符串,楼主不应该指定字符数组的长度:

char a[] = "nihao";

       这样,可以减少出错。
页: [1]
查看完整版本: 关于数组的一点点疑问