问一个c语言题,为什么这题不选A呢?

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:50:32
(40)设有如下说明
typedef struct ST
{
long a;
int b;
char c[2];
} NEW;
则下面叙述中正确的是 c
A)以上的说明形式非法
B)ST是一个结构体类型
C)NEW是一个结构体类型
D)NEW是一个结构体变量

这个联合没有问题么? ST代表什么?

联合体需要有关键字union,而struct是定义结构体的关键字。

ST是结构体名,NEW是结构体类型。二者有区别。

这里的NEW的作用如同int,double等,是数据类型。而ST是用户定义的一个结构。写为以下等价格式可能更便于理解:
struct ST{
long a;
int b;
char c[2];
};
typedef struct ST NEW;

这不是联合,是结构体
ST是结构体名

struct ST就是NEW
所以是结构体类型

这是一个自定义类型,把结构 struct ST 定义为 NEW。

typede struct ST 这是定义的结构体~~~
ST 是类型名
NEW 是变量名

这是一个结构体的定义,结构完全正确.new是一个结构体.包括 a,b,c[].三个属性值.看看清华大学的那版c语言课本什么都清楚了.

平时都是这么写的,肯定没得错