请问C语言中结构体的问题?

k563795543 2020-05-30 09:37:30
typedef struct PNode{
int data;
PNode *a;
} * Link, * Position;
PNode *a 前面不写struct也可以编译通过,这是为啥?到底应该写还是不写
...全文
196 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2020-06-03
  • 打赏
  • 举报
回复
C++这样没问题,C 语言就不行了。建议用C语言编译试一下,看看是否还能通过语法检查~
潇湘游子 2020-06-03
  • 打赏
  • 举报
回复
编译器的问题,建议最好按正确大众化的规则来写。
qiu_shaofeng 2020-06-01
  • 打赏
  • 举报
回复
这里讨论的是c语言,在c++中当然能过。
k563795543 2020-05-31
  • 打赏
  • 举报
回复
引用 2 楼 qiu_shaofeng 的回复:
typedef是定义新类型,前面可以不写struct。
不写typedef,前面就要写struct。


你这说法不对,
struct PNode{
int data;
PNode *a;
} ;这样写可以编译通过,不信你试
qiu_shaofeng 2020-05-30
  • 打赏
  • 举报
回复
typedef是定义新类型,前面可以不写struct。 不写typedef,前面就要写struct。
Simple-Soft 2020-05-30
  • 打赏
  • 举报
回复
跟编译器有关,有的gcc版本就不行,vc没问题

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧