初始化静态 const char* 数组

Posted

技术标签:

【中文标题】初始化静态 const char* 数组【英文标题】:Initializing a static const char* array 【发布时间】:2011-04-18 09:45:08 【问题描述】:

这是我的问题,我的 .h 文件中有这个问题

static const char *Title[];

如何在我的 .C 文件中将数组初始化为“第一”、“第二”、“第三”

【问题讨论】:

你确定你真的想要这个在头文件中吗? 好吧,如果它在一个类中,它会有意义,不是吗? 【参考方案1】:

static const char* Title[] = "first", "second", "third" ;

在initialization 上查看这个小简介。为什么要在单独的文件中执行此操作?你必须做externs。

// in .h
extern const char* Title[];

// in .c
const char* Title[] =  "first", "second" ;

【讨论】:

【参考方案2】:

如果是 C++,您可以将这个数组包装在一个类上并创建它的静态实例。

【讨论】:

以上是关于初始化静态 const char* 数组的主要内容,如果未能解决你的问题,请参考以下文章

从 const char 数组初始化为动态分配的 const char 数组

C/C++ 将 char 数组初始化为 const char*

如何更改静态链接库中 const 字符串数组的 Visual Studio C++ 初始化序列

我可以在C ++中的运行时初始化静态const成员吗?

在 Swift 中使用 const char * 初始化 C-struct

为啥使用字符串初始化没有 const 的数组时 gcc 不给出警告?