当前位置 : 主页 > 编程语言 > c语言 >

自定义数据类型枚举和共用体

来源:互联网 收集:自由互联 发布时间:2023-09-07
#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提供,感恩】
上一篇:有序表的合并——用顺序表实现
下一篇:没有了
网友评论