传递枚举数组是什么意思
What is mean by passing the enum array?
我们可以将enum作为数组或指针传递吗。我在网上听到过这样的问题。所以我想看看这是什么意思。我们怎么能做到这一点?实例
就像任何其他数组一样:
#include <stdio.h>
enum colour {
WHITE,
RED,
ORANGE,
YELLOW,
GREEN,
BLUE,
INDIGO,
VIOLET,
BLACK
};
char *colour_names[] = {
"WHITE",
"RED",
"ORANGE",
"YELLOW",
"GREEN",
"BLUE",
"INDIGO",
"VIOLET",
"BLACK"
};
void show_colours(enum colour colours[], int count) {
int i;
for (i = 0; i < count; ++i) {
printf("%s ", colour_names[(int)colours[i]]);
}
printf("n");
}
int main(int argc, char **argv) {
enum colour estonia[] = {BLUE, BLACK, WHITE};
show_colours(estonia, 3);
return 0;
}
输出:
BLUE BLACK WHITE
你不能。我的意思是,如果你有
typedef enum {
ALFA,
BRAVO,
CHARLIE,
DELTA
} Alphabet;
不可能按原样将该信息传递给函数。
你可以做的是,声明一个整数数组,将字母表:的值分配给该数组
字母ab[26]={ALFA,BRAVO,CHARLIE,…}
在这一点上,你将能够像传递任何其他指针一样传递"ab"。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思