首页 > 代码库 > C和指针 第十章 结构和联合 习题
C和指针 第十章 结构和联合 习题
1. 记账信息结构联合
typedef struct { unsigned int areaNum; unsigned int transNum; unsigned int station;} phoneNumber;struct { phoneNumber fromPhone; phoneNumber toPhone; phoneNumber payPhone;} dialHistory;
2. 指令解码:
#include <stdio.h>typedef struct { unsigned int dsg_reg : 3; unsigned int dst_mode: 2; unsigned int opcode : 11;} sgl;typedef struct { unsigned int dst_reg : 3; unsigned int dst_mode: 3; unsigned int src_reg : 3; unsigned int src_mode: 3; unsigned int opcode : 4;} dbl;typedef struct { unsigned int offset : 8; unsigned int opcode : 8;} bran;typedef struct { unsigned int dst_reg : 3; unsigned int dst_mode : 3; unsigned int src_reg : 3; unsigned int opcode : 7;} reg;typedef struct { unsigned int opcode : 16;} mic;typedef union { unsigned short addr; mic misc; bran branch; sgl sgl_op; reg reg_src; dbl dbl_op;} machine_inst ;int main(){ machine_inst x = {16}; printf("%0x\n", x.sgl_op.dst_mode); return 0;}
typedef 定义联合类型,就可以使用各种联合内的字段结构,访问了
C和指针 第十章 结构和联合 习题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。