typedef struct S{int g;char h;}T;则下列叙述正确的是B可用T定义结构体变量和T是一个结构体变量有区别吗

(39)若有以下语句TypedefstructS{intg;charh;}T;以下叙述中正确的是A)可用S定义结构体变量B)可用T定义结构体变量C)S是struct类型的... (39)若有以下语句
Typedef struct S
{int g; char h;}T;
以下叙述中正确的是
A)可用S定义结构体变量
B)可用T定义结构体变量
C)S是struct类型的变量
D)T是struct S类型的变量
这种题型有好记的方法吗
问题是可用T定义结构体变量和T是一个结构体变量有区别吗,那句话对哪句话错
展开
 我来答
87649639
推荐于2016-11-12 · TA获得超过195个赞
知道答主
回答量:51
采纳率:0%
帮助的人:28.8万
展开全部
正确的是B,请查看谭浩强C语言第二版 294页关于 typedef 说明。
Typedef struct S

int g;
char h;
}T;
typedef 声明新的类型名,也就是定义一个新的数据类型。如果你看除去 typedef ,T就变成了声明一个结构体类型S:
struct S

int g;
char h;
};
加上typedef,T之后,这个T就等效于 struct S,是一个结构体类型。也就是说,typedef 只是将 struct S 另定义为一种新的数据类型T。
再看答案:
A 错误, S 不可以定义结构体变量,要加上 struct ,也就是 struct S + 结构体变量
B 正确, 因为T 等效于 struct S.
C 错误 S 不是变量,要和 struct 一起才有意义。
D 错误 T不是变量,是一种新的类型,等效于 struct S.
百度网友fa4bb8f3c
2011-02-16 · TA获得超过130个赞
知道答主
回答量:50
采纳率:0%
帮助的人:53.2万
展开全部
c,d肯定是错了,但a,b好像都对吧。这……我也不知道我错还是你错啦。
再说你的问题:
int a; int为定义整型变量的标识符,a为整型变量
S a; S为定义结构体变量的标识符,为a为结构体变量
T a; T同上,a同上
明了吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cliicy
2011-02-16 · 超过19用户采纳过TA的回答
知道答主
回答量:96
采纳率:100%
帮助的人:30.6万
展开全部
A和B是对的.C和D是错的.
S是一个结构的名字, 用了typedef相当于把S又重命名为了T.相当于define 的功能..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式