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

admin2009-01-15  25

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

选项 A、typedef struet 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

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

最新回复(0)