#define _CRT_SECURE_NO_WARNINGS 1#includestdio.h //我们可以使用#define定义变量,为什么非要使用枚举//1.增加代码的可读性和可维护性//2.和#define定义的标识符比较枚举有类型检查,更加严谨。//
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>
//我们可以使用#define定义变量,为什么非要使用枚举 //1.增加代码的可读性和可维护性 //2.和#define定义的标识符比较枚举有类型检查,更加严谨。 //3.防止了命名污染(封装) //4.便于调试 //5.使用方便,一次定义多个变量 //枚举类型 enum sex { //枚举的可能取值-枚举常量 MALE=1, FEMALE=2, SECRET=3 };
enum Color { //枚举的可能取值-枚举常量 red,//0 默认从0开始,也可以赋一个初始值,但是后面不能修改 green,//1 赋值方法,从第一个初始值开始向后默认排序 yellow//2 };
union Un { int i; char arr[5]; };
int main() { //enum Sex s = MALE;
//printf("%d %d %d\n", red, green, yellow);
//联合体(共用体);
// 联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列成员,特征是这些成员公用同一块空间
// 联合的特点:联合的成员共用同一块内存空间,这样一个联合变量的大小,至少是最大成员的大小
union Un un;
printf("%d\n", sizeof(un));//联合体不能同时存在,只能同时使用1个
//大端储存还是小端储存只用看UN.c就行44 33 22 11
// 联合体大小计算
// 联合的大小至少是最大成员的大小
// 当最大成员大小不是最大对齐数的的整数倍时,就要对齐到最大对齐到最大对齐数的整数倍
//联合体和结构体存在对齐,位段和枚举不存在对齐;
return 0;
}
【本文转自:日本cn2服务器 http://www.558idc.com/jap.html提供,感恩】