Const文本变量声明C.

Bob*_*bby 3 c variables text const

只是一个我无法找到正确答案的快速问题.

如果我想声明一个const文本变量,它绝对等于do:

const char my_variable [] = {'t', 'e', 's', 't', 0};
Run Code Online (Sandbox Code Playgroud)

要么

const char my_variable [] = "test";
Run Code Online (Sandbox Code Playgroud)

提前谢谢了

Bat*_*eba 5

是的,这两个声明是相同的.

"test"是一个char[5]在C型,具有元素't','e','s','t',和0.

(注意,在C++中,类型是const char[5]:两种语言之间的另一个区别.请参阅C和C++中字符串文字的类型是什么?).

  • 字符串文字的字符存储(在静态存储中)在`char`类型的数组中,而不是`const char`,所以``test``是`char [5]`类型,但它是UB尝试修改它. (2认同)