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

admin2009-02-15  33

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

选项 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;

答案4

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

最新回复(0)