A-A+
以下对结构体类型变量的定义中 不正确的是()。A.typedef struet aa { i
问题详情
以下对结构体类型变量的定义中,不正确的是()。
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;请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:定义结构体类型的变量有如下几种方法:①定义结构体类型的同时,定义结构体类型的变量,如:stractaa{…}tdl;选项B)中将宏名AA用宏体structaa替换后,与该定义形式一样,因此是正确的。在这一定义形式中,结构体类型名aa是可以省略的,因此,D)项也是正确的。②先定义结构体类型,然后再定义结构体类型的变量,形式如下:structaa{…};strnctaatdl;这种定义形式也可演变为:先用类型定义语句typedef将该结构体类型定义成一个类型名AA,然后直接用该类型名AA定义一个结构体变量(这时不再需要使用关键字struct)。因此选项A)正确。