概念
枚举类型
C语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的,按照C语言规范是没有办法遍历枚举类型的。
结构体(Struct)
结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。
共用体(Union)
共用体是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。
程序代码
案例1
#include <stdio.h>
enum DAY
{
MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7
};
enum DAY day;
struct Person{
int id;
char name[50];
char email[50];
char mobile[100];
} person = {100,"李二","[email protected]","13412341234" };
union data{
int n;
char ch;
short m;
};
/**
主函数
@param argc argc description
@param argv argv description
@return return value description
*/
int main(int argc,const char* argv[]){
enum DAY day;
day = SUN;
printf("%d\n",day);
printf("id=%d\n",person.id);
printf("name=%s\n",person.name);
printf("email=%s\n",person.email);
printf("mobile=%s\n",person.mobile);
struct Person zhangsan={200,"张三","[email protected]","13412344567"};
printf("%d, %d\n", sizeof(zhangsan), sizeof(struct Person));
printf("id=%d\n",zhangsan.id);
printf("name=%s\n",zhangsan.name);
printf("email=%s\n",zhangsan.email);
printf("mobile=%s\n",zhangsan.mobile);
union data a;
printf("%d, %d\n", sizeof(a), sizeof(union data) );
a.n = 0x40;
printf("%X, %c, %hX\n", a.n, a.ch, a.m);
a.ch = '9';
printf("%X, %c, %hX\n", a.n, a.ch, a.m);
a.m = 0x2059;
printf("%X, %c, %hX\n", a.n, a.ch, a.m);
a.n = 0x3E25AD54;
printf("%X, %c, %hX\n", a.n, a.ch, a.m);
return 0;
}
本文暂时没有评论,来添加一个吧(●'◡'●)