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就被弃用!

posted @ 2018-03-15 22:17  王默默  阅读(2319)  评论(0编辑  收藏  举报