のための構造体のtypedefを定義し、私はコードで見たようなもの:2回
struct listnode{
char data;
struct listnode *nextptr;}
typedef struct listnode LISTNODE;
typedef LISTNODE *listnodeptr;
なぜ、彼は2回のtypedef使用しました?
のための構造体のtypedefを定義し、私はコードで見たようなもの:2回
struct listnode{
char data;
struct listnode *nextptr;}
typedef struct listnode LISTNODE;
typedef LISTNODE *listnodeptr;
なぜ、彼は2回のtypedef使用しました?
2つのtypedef
ここでは繰り返しはありません。別名2つです。異なるタイプです。
typedef struct listnode LISTNODE;
struct listnode
typedef LISTNODE *listnodeptr;
LISTNODE
がstruct listnode *
、LISTNODE *
の別名であるタイプlistnodeptr
、すなわちを作成最初のtypedef構造のエイリアスを宣言作成自身
2番目のtypedefは、構造体型のオブジェクトへのポインタの別名を宣言します。
typedef LISTNODE * listnodeptr;
^^^^^^^^^^
ただ1つの型定義を複数使用するかどうかはスタイルの問題です。
すべてのこれら三つの宣言は1つの宣言 `構造体listode`ため
typedef struct listnode{
char data;
struct listnode *nextptr;
} LISTNODE, *listnodeptr;
Oneと他の'構造体listnodeの* 'のために組み合わせることができますか? –
1)markdownでコードを適切にフォーマットします。 FAQを読んでください。 2)これは 'typedef'がポインタとなるコードです。読みやすくするためではない厳しいものです。 3)大文字の名前は、マクロやenum-constant以外のものには使用しないでください。 4)Cブックを読んで、コードスニペットのためのより良いリソースを見つけてください。 – Olaf