C语言难点专题——enum, struct 和 Union
2010-01-24 10:57
387 查看
C语言常用的几个数据结构, 做一个小总结, 方便查阅:
那么我们可以定义一个变量open, 和close, 表示电源的开和关。
在我看来,枚举值应该可以有多个值可选,比如typeA = sencond, third两个值,但似乎暂时没有看到有人这样用,
需要再斟酌一下这个问题。
从枚举值引用的关系可以看出,enum列举出的任何变量,都不允许重复定义:
struct abc{
int score;
};
定义结构(需要带上struct):
struct abc a;//实质上是声明 + 初始化
初始化一个结构:
struct abc a = {14};
a = {10}; //wrong 注意不能被两次初始化
当const修饰时:
const struct abc a;
a.score = 10; //不容许再次赋值
一: 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
声明了一个abc的结构。struct abc{
int score;
};
定义结构(需要带上struct):
struct abc a;//实质上是声明 + 初始化
初始化一个结构:
struct abc a = {14};
a = {10}; //wrong 注意不能被两次初始化
当const修饰时:
const struct abc a;
a.score = 10; //不容许再次赋值
三: union
相关文章推荐
- C语言深度解剖——读书笔记-3、关键字(const、 volatile、extern、struct、union、enum、typedef)
- struct union enum
- C_C语言的enum、struct、union的使用详解
- struct/union/enum的区别
- C语言难点专题——复杂的函数声明
- union, struct, enum 的 大小区别
- union, struct, enum 的 大小区别
- 结构体struct和联合体union以及enum枚举体5的区别
- c++——union、struct、enum
- struct union enum
- struct、union、enum and sizeof
- c++ struct, union,enum,typedef
- 结构体(struct)、联合体(union)、枚举(enum) 三种结构的区别及各个结构细节的总结
- enum,struct,union类型使用和长度
- 结构struct 联合Union和枚举Enum的细节讨论
- C语言难点专题——const
- c与c++中enum,struct,union主意点
- struct/enum/union用法
- enum struct union
- C和C++中结构体(struct)、联合体(union)、枚举(enum)的区别