Typedef / struct声明
发布时间:2020-12-16 05:54:58 所属栏目:百科 来源:网络整理
导读:这两个声明有什么区别,如果有人可以详细解释: typedef struct atom { int element; struct atom *next;}; 和 typedef struct { int element; struct atom *next;} atom; 解决方法 typedef的目的是给一个类型规范的名字.语法是: typedef specification name
这两个声明有什么区别,如果有人可以详细解释:
typedef struct atom { int element; struct atom *next; }; 和 typedef struct { int element; struct atom *next; } atom; 解决方法
typedef的目的是给一个类型规范的名字.语法是:
typedef <specification> <name>; 完成之后,您可以使用< name>很像任何内置类型的语言来声明变量. 在你的第一个例子中,你的< specification>是从struct atom开始的一切,但是没有< name>之后所以你没有给类型规范一个新的名字. 在结构声明中使用名称与定义新类型不同.如果要使用该名称,则必须先使用struct关键字.所以如果你声明: struct atom { ... }; 您可以使用以下命令声明新变量: struct atom my_atom; 但是你不能简单地声明 atom my_atom; 对于后者,你必须使用typedef. 请注意,这是C和C之间的显着区别之一.在C中,声明一个结构体或类类型允许您在变量声明中使用它,您不需要typedef. typedef在C中对于其他复杂类型的构造(如函数指针)仍然有用. 您应该可以在“相关”侧栏中查看一些问题,并解释其中的一些细节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |