枚举,联合,宏定义,结构体

C语言高级特性解析
本文深入探讨C语言的枚举、联合、宏、结构体等高级特性,详解其语法、用途及注意事项,帮助读者掌握复杂数据类型和代码优化技巧。

一,枚举

(1)枚举也可以用来创建新的数据类型,枚举类型存储区就是一个整数类型存储区,只不过这个存储区里只能记录有限的几个整数(2)声明枚举类型时需要提供一组名称,每个名称代表一个整数,这些整数都可以记录在枚举类型存储区里(3)声明枚举类型的时候需要使用enum关键字,第一个枚举名称对应的整数是0,向后依次递增。(4)可以在声明枚举类型的时候指定某个名称对应的整数,它后面的名称对应的整数会随之改变。

enum birth {zhangsan=1998, lisi= 1991, wangwu=1994, chenliu=1993};

二,联合

联合也可以用来声明新的数据类型,联合存储区可以用不同的方式解释。联合也需要声明,声明联合的时候需要使用union关键字。联合存储区的大小是最大使用方式的大小。

#include <stdio.h>
union un 
{
	char buf[2];
	int num;
	float fnum;
};
int main() 
{
	union un abc = {0};
	abc.fnum = 1.0f;
	printf("1.0是0x%x\n", abc.num);
	printf("sizeof(abc)是%d\n", sizeof(abc));
	return 0;
}

三,宏:#define预处理指令可以用来定义宏

1,宏可以用来给数字起名字;定义宏的时候要把宏名称写在前面,把它所代表的数字写在后面;宏名称通常全部由大写英文字母构成;宏名称里不能包含空格;用宏给数字起名字的时候宏定义语句里不能有赋值操作符;编译器会把程序中所有宏名称替换成它所代表的数字;


#define DDR_WRITE8(addr,value) 		*((vol
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值