2

我希望根据 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"};
4

1 回答 1

2

例如,您可以通过以下方式执行此操作

enum example {  RED = 0,  YELLOW,  BLUE };

const char array[3][12] = 
{
    [RED] = "apple", 
    [YELLOW] = "school bus", 
    [BLUE] = "Ocean"
};  
于 2019-10-11T13:32:02.543 回答