问题描述
- C语言typedef问题,原类型名还有用吗
-
typedef struct S{intg;char h;}T;以下叙述中正确的是(B)
(A) 可用S定义结构体变量
(B) 可用T定义结构体变量
(C) S是struct类型的变量
(D) T是struct类型的变量========书上说Typedef语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效,为何答案A不对呢?参考答案是B,求大侠指教
解决方案
在C里面,光写S不行,要写struct S,或者T
C++可以直接用S
解决方案二:
可以的,只需要这s就行。
解决方案三:
可以这么理解
typedef 是将 struct S 取别名为 T
所以可以用T 或者 struct S
我想问一下,答案C对吗??^_^
解决方案四:
只是去别名,原来的名字当然可以用。在c里面,必须用struct S 来表明结构体类型。
解决方案五:
楼下说的很对,并且原类型名还是有用的,如果定义结构体时,结构体成员类型是关于struct S的时候,那么是不能使用T的,必须使用struct S 来声明
时间: 2024-12-02 03:23:48