像往常一樣,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