我想在C中使用枚举类型。我知道如何使用它们但我有一个问题。我有一个这样的例子
enum S { A,B,C,G };
我知道这有效,但我可以这样做吗?
enum S {^,*,/,%};
感谢您的时间。
答案 0 :(得分:2)
没有。您只能在C中的标识符(变量,函数和类型名称)中使用字母数字字符和下划线。标识符不能以数字开头。此外,您无法使用某些保留关键字。
http://www.cprogrammingexpert.com/C/Tutorial/fundamentals/identifiers.aspx
答案 1 :(得分:1)
没有。但是,您可以这样做:
enum S
{ CARET = '^',
STAR = '*',
SLASH = '/',
PERCENT = '%'
};
int foo()
{ enum S somevar = CARET;
// ....
if (somevar == PERCENT)
// ....
}
不确定这对你想要做的事情是否有用,但是,因为你并没有给予任何背景......
答案 2 :(得分:0)
ANSI C specification表示您可以使用" OrdinaryIdDef"对于枚举...所以它遵循相同的规则 - 例如 - 变量&功能名称