问题详情

以下对结构体类型变量的定义中,不正确的是


A、typedef struct aa { int n; float m; }AA; AA tdl;

B、#define AA struct aa AA{ int n; float m; }tdl;

C、struct { int n; float m; }aa; struct aa tdl;

D、struct { int n; float m; }tdl;

时间:2022-01-05 16:17 关键词:

答案解析

C
解析:定义结构体类型的变量有几种的方法如下:①定义结构体类型的同时,定义结构体类型的变量,如下面的定义中在定义结构体类型aa的同时定义了该类型的变量tdl。上述B)项中将宏名AA用宏体structaa替换进去后,与该定义形式一样,因此是正确的。这一定义形式中,结构体类型名明是可以省略的,因此,D)项也是正确的。structaa{...}tdl;②先定义结构体类型,然后再定义结构体类型的变量,形式如下:structaa{…};structaatdl;这种定义形式也可演变为,先用类型定义语句typedef将该结构体类型定义成一个类型名AA,然后直接用该类型名AA去定义一个变量(这时不再需要使用关键字struct了)。这就是A)项的形式。