C中字符串文字的类型是什么?

2 c string

是C99 的字符串类型,如"hello, world"a char *const char *?我知道在C++中它是后者,但在C中呢?

das*_*ght 5

C中的字符串文字不是指针,它们是chars的数组.您可以通过查看讲这个sizeof("hello, world"),这是13,因为空终止包括在文字的大小.

C99允许分配字符串文字char *,这与C++不同,后者需要const char *.

  • @DanFarrell尽管数组的名称被解释为在许多上下文中指向其初始元素的指针,但是说数组*实际上是一个指针并不完全正确.数组名称不被解释为指向数组初始元素的指针的上下文是`sizeof`和指针算术. (3认同)