【答案解析】(1)“typedef struct”。
(2)“int Num1:32;”或“int Num1;”。
(3)“int * ptr=(int *)&mstr;”。
答案考生文件夹
[解析] 第1处是定义结构体,结构体定义的一般形式为
struct<结构体名>
{
<成员列表>
}
<变量名列表>;
程序当中定义结构体名放在后面,MyStruct为结构体变量类型,相当于typedef为已有的类型定义一个新的类型,第1处应改为“typedef struct”。第2处是定义Num1为一个整型数据变量,整型数据位数为32(4字节),因此第2处应改成“int Num1:32;”或“int Num1;”。ptr为整型数据指针,mstr为MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第3处应改成“int * ptr=(int *)&mstr;”,表示将mstr的地址给ptr,ptr指向MyStruct的第一个域Num1,Num1也是整型,类型一致,故可通过ptr指针来改变Num1的值。