初始化C中由枚举索引的字符串数组
我希望在C编程语言中基于枚举生成一个字符串数组。理想情况下,我希望将其声明为常量,因此我希望在编译时声明它,而不是在程序执行期间填充它 例如,假设我有一个枚举:初始化C中由枚举索引的字符串数组,c,arrays,enums,initialization,designated-initializer,C,Arrays,Enums,Initialization,Designated Initializer,我希望在C编程语言中基于枚举生成一个字符串数组。理想情况下,我希望将其声明为常量,因此我希望在编译时声明它,而不是在程序执行期间填充它 例如,假设我有一个枚举: enum example { RED=0, YELLOW, BLUE }; 我想初始化字符串数组,如下所示: array[RED]= "apple"; array[YELLOW] = "school bus"; array[BLUE] = "Ocean"; 有没有一种方法可以将其声明为一个常量,大致如下: const char
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"
};
你可以用。太好了!这就是我希望实现的目标。谢谢bunch@BeauR完全没有。不客气。:)