直接把结构名定义为am_win_menutext然后使用,这样在使用时必须这样: struct am_win_menutext myval 定义了别名之后就可以: am_win_menutext myval 这样可以更清晰。 主要在c语言里这样使用 使得更方便。 c++就不用typedef 也可以直接使用结构体名。 c++中使用: struct test { int x y } 就可以定义一个名为test的结构体,但c中很可能编译通不过。c语言并不支持在struct后使用标示符定义结构体的名字,test将会被忽略,这相当 于定义了一个没有名字的结构体。若定义一个该结构体对象test mt 将会提示未定义的test错误信息。所以,在c语言中,一般使用typedef来定义结构体,上面的例子可以改为: typedef struct _test{ int x y }test _test要不要都可以。并且,第一个大括号不能像原来那样随便的换行写(因为是typedef)。
结构体struct前面加 typedef和不加typedef的区别
最新推荐文章于 2023-04-19 10:52:23 发布