Const文本变量声明C.

时间:2018-02-01 16:00:22

标签: c variables text const

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

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

const char my_variable [] = {'t', 'e', 's', 't', 0};

const char my_variable [] = "test";

非常感谢提前

2 个答案:

答案 0 :(得分:5)

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

"test"是C中的char[5]类型,其中包含元素't''e''s''t'和{{1} }。

(请注意,在C ++中,类型为0:两种语言之间存在另一种差异。请参阅What is the type of string literals in C and C++?)。

答案 1 :(得分:2)

来自standard 6.7.9p14 :(支持其他答案)

  

字符类型数组可以由字符串文字或UTF-8字符串文字初始化,可选择用大括号括起来。字符串文字的连续字节(如果有空间或数组大小未知,则包括终止空字符)初始化数组的元素。

所以是的,他们两个都在实现同样的目标。