C结构体struct 和 共用体union的使用测试

Posted 王默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C结构体struct 和 共用体union的使用测试相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
struct
{
	char name[10];
	char sex;
	char job;
	int  num;
	union{
		//联合只能共用同一个内存
		int  class;
		char position[10];			
	}category;
}PE[2];

int main(){
	int i;
	for(i=0;i<2;i++){
		printf("请输入:号码 姓名 性别 职业\n");
		scanf("%d %s %c %c", &PE[i].num,PE[i].name,&PE[i].sex,&PE[i].job);
		if(PE[i].job==‘s‘){
			printf("请输入班级:");
			scanf("%d",&PE[i].category.class);
		}else if(PE[i].job==‘t‘){
			printf("请输入职业:");
			scanf("%s", PE[i].category.position);
			
		}else{
			printf("输入错误");
		}
	}	
	return 0;
}

  共用体:共享同一个内存;一旦a使用了b就被弃用 b使用a就被弃用!

以上是关于C结构体struct 和 共用体union的使用测试的主要内容,如果未能解决你的问题,请参考以下文章

零基础学C语言知识总结八:struct 结构体与 union 共用体

结构体struct和联合体union(联合)有啥区别呢?

c语言里,怎样判断共用体union的数据类型?

结构体和共用体

共用体union

名词解析—联合体