#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//枚举类型
enum Color
{
//该枚举类型定义的变量可能的值,除此之外的值不能赋给枚举变量
RED = 2,
GREEN = 4,
BLUE = 6
};
int main()
{
enum Color s = RED;
return 0;
}
//枚举的优点
//1、增加代码的可读性和可维护性
//2、和#define定义的标识符比较枚举有类型检查,更加严谨
//3、防止了命名污染(封装)
//4、便于调试
//5、使用方便,一次可以定义多个常量
//联合(共用体)
//联合类型的定义
//联合也是一种特殊的自定义类型,这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间(所以联合也叫共用体)。
//联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)。
//所以同时只能用一个,不能同时存在。
union Un
{
char c;
int i;
};
int main()
{
union Un u;
printf("%d\n", sizeof(u)); //4
printf("%p\n", &u);
printf("%p\n", &(u.c));
printf("%p\n", &(u.i));
return 0;
}
//联合体的大小
//1、至少是最大成员的大小
//2、当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍
//判断大小端存储的方式
int main()
{
int a = 0x1234;
int* p = &a;
printf("%x\n", *((char*)p ));
return 0;
}
//用联合体做
union Un
{
char c;
int i;
};
int main()
{
union Un u;
u.i = 0x1234;
printf("%x\n", u.c);
return 0;
}
C语言学习笔记31
最新推荐文章于 2024-04-22 22:03:22 发布