c - 在 C 中用两个字符串初始化一个 const char * const *

标签 c pointers char initialization constants

有谁知道用两个文字字符串("abcdefg""hijklmnop")初始化 const char * const * 的正确方法)?我读到很难/不可能从 char ** 转换,但我可能错了。

非常感谢任何帮助。

最佳答案

不使用指向指针的指针,而是使用指针数组并像这样初始化它们:

const char * const strs[] = {"abcdefg", "hijklmnop"};

因此,您现在拥有一个指向字符串常量的常量数组,而不是指向字符串常量的常量指针。 C 不允许用大括号初始化指针(除非其中只有一个值),但它允许以这种方式初始化数组。

关于c - 在 C 中用两个字符串初始化一个 const char * const *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20423517/

相关文章:

c - 索引转换 : row-major to cartesian coordinates (e. g.,像素)

使用 msi API 更改安装路径

c - 在 C 结束时从指针位置读取十六进制输出

c++ - 为什么在创建入栈函数时使用指向栈的指针?

c++ - 为什么没有为 "T* const"定义 pointer_traits ?

c - 指针和字符数组

c - 在 C 中初始化结构体数组

c - 将指针传递给函数并更改它

objective-c - 在 iOS 中读取文件时出现 malloc 错误

c++ - 字符串类中指针和整数的比较 - C++