河北建设集团在哪个网站采购,wordpress需要登录才可以看到内容,dw网页制作模板源代码,电子商务网站建设研究枚举#xff08;Enumeration#xff09;
概念
枚举是 C 语言中的一种用户自定义数据类型#xff0c;它用于定义一组命名的整数常量。枚举类型可以提高代码的可读性和可维护性#xff0c;因为使用有意义的名称来代替数字#xff0c;使代码更易于理解。
案例
以下是一个…枚举Enumeration
概念
枚举是 C 语言中的一种用户自定义数据类型它用于定义一组命名的整数常量。枚举类型可以提高代码的可读性和可维护性因为使用有意义的名称来代替数字使代码更易于理解。
案例
以下是一个简单的枚举示例用于表示一周的七天
#include stdio.h
// 定义枚举类型 Weekday
enum Weekday {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
};
// 函数用于打印对应星期几的信息
void printWeekday(enum Weekday day) {switch (day) {case MONDAY:printf(Today is Monday.\n);break;case TUESDAY:printf(Today is Tuesday.\n);break;case WEDNESDAY:printf(Today is Wednesday.\n);break;case THURSDAY:printf(Today is Thursday.\n);break;case FRIDAY:printf(Today is Friday.\n);break;case SATURDAY:printf(Today is Saturday.\n);break;case SUNDAY:printf(Today is Sunday.\n);break;default:printf(Invalid day.\n);}
}
int main() {// 声明一个枚举类型的变量并初始化为 WEDNESDAYenum Weekday today WEDNESDAY;// 调用函数打印信息printWeekday(today);
return 0;
}
代码解释 枚举类型定义enum Weekday 定义了一个名为 Weekday 的枚举类型包含了一周七天的名称。默认情况下MONDAY 的值为 0TUESDAY 的值为 1依此类推。 函数 printWeekday该函数接受一个 enum Weekday 类型的参数并根据传入的值使用 switch 语句打印相应的信息。 main 函数声明一个 enum Weekday 类型的变量 today 并初始化为 WEDNESDAY然后调用 printWeekday 函数打印信息。
#include stdio.h
#include stdlib.h
#include string.h
/*
枚举类型1. 枚举类型每一个元素在没有给予默认值的情况下第一个元素对应的数值为 0之后的元素逐个递增2. 枚举中的元素可以指定数据之后的数据在没有赋予明确的数值下对应的数据从当前指定数据之后递增3. 枚举中的每一个元素都可以单独赋值
*/
enum Week
{SUN,MON,TUS 5,WEN,THU,FRI,SAT
};
/*
演示案例不正确可以利用 十六进制控制二进制数据内容进行调节
利用一个字节数据改变硬件状态。
*/
enum STM_GPIO
{GPIO_1 0x1,GPIO_2 0x2,GPIO_3 0x4,GPIO_4 0x8,GPIO_5 0x10,GPIO_6 0x20
};
int main(int argc, char const *argv[])
{printf(SUN : %d\n, SUN);printf(SUN : %d\n, MON);printf(SUN : %d\n, TUS);printf(SUN : %d\n, WEN);printf(SUN : %d\n, THU);printf(SUN : %d\n, FRI);printf(SUN : %d\n, SAT);
return 0;
}
共用体Union
概念
共用体也是一种用户自定义数据类型它允许在相同的内存位置存储不同的数据类型。共用体的所有成员共享同一块内存空间因此在同一时间只能使用一个成员。
案例
以下是一个简单的共用体示例用于存储不同类型的数据
#include stdio.h
// 定义共用体类型 Data
union Data {int i;float f;char str[20];
};
int main() {// 声明一个共用体类型的变量 dataunion Data data;
// 存储整数data.i 10;printf(data.i: %d\n, data.i);
// 存储浮点数data.f 220.5;printf(data.f: %.2f\n, data.f);
// 存储字符串snprintf(data.str, sizeof(data.str), Hello);printf(data.str: %s\n, data.str);
return 0;
}
代码解释 共用体类型定义union Data 定义了一个名为 Data 的共用体类型包含一个整数 i、一个浮点数 f 和一个字符数组 str。 main 函数声明一个 union Data 类型的变量 data然后分别存储整数、浮点数和字符串并打印出相应的值。需要注意的是每次存储新的数据时会覆盖之前存储的数据。
#include stdio.h
/*
共用体1. 共用体占用内存空间大小取决于整个共用体中的占用内存最大数据类型2. 共用体空间使用需要主要内存清理问题3. 注意共用体内存数据问题
*/
// 定义共用体类型 Data
union Data {int int_arr[10]; // 40double double_arr[10]; // 80char str[40]; // 40
};
int main(int argc, char const *argv[])
{printf(sizeof(Data) : %ld\n, sizeof(union Data));
union Data data;
/*每一次使用共用体有且只允许使用共用体的一个元素内容*/data.int_arr[5] 65;printf(data.int_arr[0] %d\n, data.int_arr[0]);printf(data.int_arr[1] %d\n, data.int_arr[1]);printf(data.int_arr[2] %d\n, data.int_arr[2]);printf(data.int_arr[3] %d\n, data.int_arr[3]);printf(data.int_arr[4] %d\n, data.int_arr[4]);printf(data.int_arr[5] %d\n, data.int_arr[5]);printf(data.int_arr[6] %d\n, data.int_arr[6]);
printf(data : %p\n, data);printf(data.int_arr[5] : %p\n, data.int_arr[5]);
printf(data.str[20] : %c\n, data.str[20]); // Areturn 0;
}