初始化由 C 中的枚举索引的字符串数组
Initialize array of strings indexed by enumeration in C
我希望在 C 编程语言中创建一个基于枚举的字符串数组。理想情况下我想将其声明为常量,因此我想在编译时声明它而不是在我的程序执行期间填充它。
举个例子,假设我有一个枚举:
enum example
{
RED=0,
YELLOW,
BLUE
};
我想这样初始化一个字符串数组:
array[RED]= "apple";
array[YELLOW] = "school bus";
array[BLUE] = "Ocean";
有没有一种方法可以按照以下方式将其声明为常量:
const char array[3][12] =
{
array[RED]= "apple",
array[YELLOW] = "school bus",
array[BLUE] = "Ocean"
};
不必像这样填写字符串数组:
const char array[3][12] = {"apple", "school bus", "Ocean"};
您可以通过以下方式进行操作
enum example { RED = 0, YELLOW, BLUE };
const char array[3][12] =
{
[RED] = "apple",
[YELLOW] = "school bus",
[BLUE] = "Ocean"
};
我希望在 C 编程语言中创建一个基于枚举的字符串数组。理想情况下我想将其声明为常量,因此我想在编译时声明它而不是在我的程序执行期间填充它。
举个例子,假设我有一个枚举:
enum example
{
RED=0,
YELLOW,
BLUE
};
我想这样初始化一个字符串数组:
array[RED]= "apple";
array[YELLOW] = "school bus";
array[BLUE] = "Ocean";
有没有一种方法可以按照以下方式将其声明为常量:
const char array[3][12] =
{
array[RED]= "apple",
array[YELLOW] = "school bus",
array[BLUE] = "Ocean"
};
不必像这样填写字符串数组:
const char array[3][12] = {"apple", "school bus", "Ocean"};
您可以通过以下方式进行操作
enum example { RED = 0, YELLOW, BLUE };
const char array[3][12] =
{
[RED] = "apple",
[YELLOW] = "school bus",
[BLUE] = "Ocean"
};