C++字符数组字符串初始化详解
字符数组的字符串初始化用法,C++里其实挺常见的。像char c[] = "I am a boy";
这种写法,省事又直观,编译器会自动在结尾补一个\0
,不用你手动算长度,适合静态文本。
字符串和字符数组的区别,其实不少新手都容易搞混。你写char c[10] = "CHINA";
,后面的五个字符其实都是\0
,ASCII 值为 0,不是'0'
也不是空格。调试时一不小心就踩坑,尤其是字符串长度和数组长度没对齐的时候。
字符一个个写的方式,比如char a[] = {'I', ' ', 'a', 'm', ...}
,你控制力强一些,但可读性就差点意思,适合对字符有需求的场景,比如字符逐个遍历、特殊编码逻辑等。
如果你还不太熟字符数组和字符串的关系,建议看看下面这些资源,挺系统的。尤其是这篇关于区别与应用的,写得还不错,对新手蛮友好。
另外提醒一下:字符串里\0
是结束标志,不是空格;'0'
的 ASCII 是 48,' '
是 32,\0
才是 0。搞清楚这点,对你理解底层有。
如果你经常底层字符操作,或者在嵌入式里用 C/C++做 UI/交互,这种字符数组赋值方式你肯定绕不开,早点熟点,写代码能省不少事。
8.66MB
文件大小:
评论区