C语言常用的几个数据结构, 做一个小总结, 方便查阅:
一: enum
enum没有任何神奇的地方,仅仅是让某些整数值变得有意义, 比如说, 电源开,用0表示,电源关,用1表示,
那么我们可以定义一个变量open, 和close, 表示电源的开和关。
void testEnum()
{
enum MyEnum{first = 1, second, third};
enum MyEnum typeA = 2;//枚举值,枚举范围中的一
int N = typeA;
switch(typeA)
{
case first:
printf("当前取值为: %d", N);
break;
case second:
printf("当前取值为: %d", N);
break;
case third:
printf("当前取值为: %d", N);
break;
}
}
在我看来,枚举值应该可以有多个值可选,比如typeA = sencond, third两个值,但似乎暂时没有看到有人这样用,
需要再斟酌一下这个问题。
从枚举值引用的关系可以看出,enum列举出的任何变量,都不允许重复定义:
enum MyEnum{first = 1, second, third};
enum MyEnumA{first = 1, second, third}; //上面引用了first,后面允许再出现类似的枚举定义。
二: struct
struct abc{
int score;
};
struct abc a;//实质上是声明 + 初始化
初始化一个结构:
struct abc a = {14};
a = {10}; //wrong 注意不能被两次初始化
const struct abc a;
a.score = 10; //不容许再次赋值
三: union