问题详情

以下对结构体类型变量td的定义中,错误的是( )。


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

B、struct aa { int n; float m; }td; stmct aa td;

C、stmct { int n; float m; }aa; stmct aa td;

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

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

答案解析

C
解析:选项A使用typedef语句给结构体8a定义了一个新的名称AA,因此使用AA直接声明结构体变量td是正确的。选项B中,前面一句是定义结构体同时声明了结构体变量td,后一句是使用结构体名aa声明结构体变量td,都是正确的写法。选项C的第1条语句和选项D使用的是无名结构体直接声明变量的语法,是正确的,但是选项C的第2条语句使用已经声明的结构体变量aa来声明td是错误的。故应该选择c。