C/C++中的C字符串定义

Fro*_*art 7 c c++

在C/C++中用"C-string"这个词真正意味着什么?指向char的指针?字符数组?或者也许const-pointer/const数组的字符?

R..*_*R.. 7

"C字符串"是以0(空字符)字节结尾的字符数组.数组,而不是任何指针,是字符串.因此,C字符串的任何终端子阵列也是C字符串.类型char *(或const char *等)的指针通常被认为是指向字符串的指针,但它们实际上是指向字符串元素的指针,通常被视为指向字符串初始元素的指针.


小智 6

Const或非const字符数组,以尾随0 char结尾.所以以下所有都是C字符串:

char string_one[] = { 'H', 'e', 'l', 'l', 'o', 0 };
char string_two[] = "Hello"; // trailing 0 is automagically inserted by the compiler
const char *string_three = "Hello";
Run Code Online (Sandbox Code Playgroud)