在c++中,字符串的存储有两种形式,一种是c风格的字符数组的存储方式,而另一种则是string类的形式,但实质上string的底层仍然是字符数组。
而对于字符数组,一般最后一位为‘\0’,标志着字符串的结束,只有含有‘\0’结尾的字符串才是有意义的字符串。
基于此,每次对char*的空间申请,都应该多申请一位给‘\0’的结尾标志符,当然,在对字符串进行长度计算时,系统将自动忽略’\0’
为什么char*申请空间时要多申请一位
最新推荐文章于 2022-11-14 09:17:21 发布
在c++中,字符串的存储有两种形式,一种是c风格的字符数组的存储方式,而另一种则是string类的形式,但实质上string的底层仍然是字符数组。
而对于字符数组,一般最后一位为‘\0’,标志着字符串的结束,只有含有‘\0’结尾的字符串才是有意义的字符串。
基于此,每次对char*的空间申请,都应该多申请一位给‘\0’的结尾标志符,当然,在对字符串进行长度计算时,系统将自动忽略’\0’