C语言笔记--1数据类型——4共同体

本文深入解析C语言中共同体(union)的使用,包括定义、声明、初始化和调用的细节。通过实例展示如何在一个地址存储不同类型的数据,适用于C语言学习者和开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特点:同一地址可以存储不同类型的数据

描述:以定义、声明、初始化、调用四个方式来进行说明

一般形式:union 共同体名

                         { 成员列表 } 变量列表 ;


struct {
	int num;
	char name[20];
	char sex;
	char job;
	union {
		char position[10];
	}category;
}person[2];

union DateUnion {
	int year;
	float month;
}a;

// 共同体的使用
void test08() {
	int i;
	for(i =  N - 9; i >= 0; i--) {
		person[i].num = i;									// 共同体初始化
		strcpy(person[i].name, "A");
		person[i].sex = (i == 0) ? 'M' : 'F'; 
		person[i].job = (i == 0) ? 'T' : 'S'; 
		if(person[i].job == 'T') person[i].category.position[0] = '8';
		else person[i].category.position[0] = '0';
	}
	for(i =  N - 9; i >= 0; i--) {
		printf("%d,%s,%c,%c,%s\n", person[i].num, person[i].name, person[i].sex, person[i].job, person[i].category.position);
	}
}

返回:C语言笔记--数据类型(总)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值