南汇去闸北区地铁:在C++中,为什么字符串数组都以"\0"结束??

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/08 19:22:20
这和编译器有关吗??或者是机器源码造成的?这样会有什么意义?

不清楚倒可以原谅
楼上的这样来误导人可就不对了

============================================================
字符串以'\0'(注意:是单引号)结尾是C/C++标准规定的,不是由哪个编译器来规定的。

空格的ASCII码是32,不是0,字符串中可以有空格的。

这样当然有实际意义了
比如你定义
char ch1[80]="string1",*ch2="string2";

无论ch1,还是ch2,都只代表字符串的首地址,因为字符串长度未知,所以必须要指明字符串以什么结束。

这个是规则,没有理由的呵呵.

编译程序就是这样规定的,这样也方便使用者进行某些判定,比如字符串有几个字符组成,或者长度是多少什么的,都可以根据是否为'\0'来判断啊!具体原因这个可能是因为程序员让'\0'已经用来表示空格了,而字符串数组后面肯定是以空为结束的对吗?那就用'\0'.呵呵