在结构体定义时别名定义后本命还能使用吗

在结构体定义时别名定义后本命还能使用吗?
那这种现象如何解释?我想不明白

img

img


而这种的却可以正常运行

img

是这两个文件后缀不同的原因吗? 第一个为.c
第二个为.cpp

1图在.c中没问题,错误提示可能是上次编译的错误。17行也没有Node。

在C语言中,使用结构体时,结构体名字前面必须加上struct,即struct Node,而在C++中结构体名字前的struct可以省略。
这是语法规定的,没有为什么。