typedef与结构类型中一种变量命名方法辨析

typedef是重新定义一种数据类型,并不创建这个结构类型下的变量数据。

而在结构类型中如代码二中的变量定义方式,此变量所属的类型依然为union,并在union的数据名创建了一个union的变量。

#include<stdio.h>//代码一
typedef union {
	int i;
	char ch[sizeof(int)];//不同编译环境int类型所占字节数不同,故用sizeof。 
} LIANHE;//LIANHE即为union类型,但不是变量。
int main()
{
	LIANHE lianhe;//需重新定义变量,再次体现出LIANHE不是变量,而是类型。
	lianhe.i=1234; 
	int a=0;
	for(a=0;a<sizeof(int);a++){
		printf("%02hhX",lianhe.ch[a]);
	}
	return 0;			
}
#include<stdio.h>//代码二
union LIANHE {
	int i;
	char ch[sizeof(int)];//不同编译环境int类型所占字节数不同,故用sizeof。 
} lianhe;//此lianhe为变量,与代码一区分。
int main()
{
	lianhe.i=1234; 
	int a=0;
	for(a=0;a<sizeof(int);a++){
		printf("%02hhX",lianhe.ch[a]);
	}
	return 0;			
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值