像往常一样,Wikipedia's article on structs不明确。它提供了,因为这对于结构的语法:澄清C结构语法
[typedef] struct [struct_name]
{
type attribute;
type attribute2;
/* ... */
[struct struct_name *struct_instance;]
} [struct_name_t] [struct_instance];
- 什么会typedef关键字在这里做?
- [struct_name]是什么意思? (它是你给新结构数据类型的名字吗?)
- [struct_name_t]是什么意思?
- [struct_instance]是什么意思? (它是否创建一个单一的结构实例?)
- 我假设
[struct struct_name *struct_instance;]
在结构中创建一个指针,指向结构的第二个实例)。正确?
我非常感谢一个例子:假设我有三个文件:main.c,sub.c和sub.h.我想在sub.h中声明一个结构体的实例,并在sub.c中实例化和使用它。说我想要一个歌曲类型结构,成员char name[20]
和char artist[10]
,并说我想做一个实例,mySong,{“我唱歌”,“我”},这将如何看在sub.c和sub.h?
感谢
请参见[this](http://stackoverflow.com/questions/4698600/whats-the-syntactically-proper-way-to-declare-a-c-struct)。 – 2013-05-13 12:19:56
flashback heh:http:// stackoverflow。com/questions/16415734/using-typedef-with-an-instance-declaration-wiki-error – 2013-05-13 12:27:36
非常好,谢谢你,虽然它没有回答我所有的问题,但总是有很好的解释 – Jodes 2013-05-13 12:28:48