c++:字符串什么时候需要手动加上’\0’呢?
答案:2 悬赏:50 手机版
解决时间 2021-02-10 04:30
- 提问者网友:刺鸟
- 2021-02-10 01:06
c++:字符串什么时候需要手动加上’\0’呢?
最佳答案
- 五星知识达人网友:舊物识亽
- 2021-02-10 02:29
//正常情况不需要,比如你定义了一个字符串,编译器会默认在串尾加上'\0'
//如:
char* str = "hello"; //实际是 hello\0
//有一种情况需要手动加:在你以字符形式为字符数组赋值的时候
//,如果你后边要把它当串用就得手动加上结尾标记
//如:
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0' };
//上边这个str如果不加'\0',当你把它当做串来访问时它的长度是未知的
//因为这要看内存里'o'后边到哪遇到'\0'
//如:
char* str = "hello"; //实际是 hello\0
//有一种情况需要手动加:在你以字符形式为字符数组赋值的时候
//,如果你后边要把它当串用就得手动加上结尾标记
//如:
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0' };
//上边这个str如果不加'\0',当你把它当做串来访问时它的长度是未知的
//因为这要看内存里'o'后边到哪遇到'\0'
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-10 03:41
ascii字符集中有一些字符在键盘上无对应的键,如各种控制字符。为了表示这些字符,c++语言通过借用,将文本字符转义后表示控制字符。所谓转义,是指一个字符代暂不代表其本义,而代表一个新的含义。 需要转义表示的字符有2种 1.键盘上不包含的字符: 各种控制字符、特殊字符,如\a表示响铃,\n表示换行等 2.被c++语法借用的字符 如单引号,双引号,反斜杠,如\'表示'字符,\"表示字符",\\表示字符\,这些都在屏幕上输出 \ddd ascii码为八进制ddd对应的字符 \xhh ascii码为十六进制xhh对应的字符
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯