2012-02-21 10 views
0

構造体と構造体の間には、typedefというキーワードがあります。参照はこれです:構造体の種類が異なります

typedef struct{ 
    int one; 
    int two; 
}myStruct; 

typedef struct vs struct definitions

struct myStruct{ 
    int one; 
    int two; 
}; 

しかし、この2種類の差分です:

struct point { 
    int x; 
    int y; 
} my_point; 

つ以上の対

struct point { 
    int x; 
    int y; 
}; 

は、
typedef struct set_t{  
     int count; 
     void **values; 
    } *SetRef; 

このタイプは何ですか?

答えて

2
struct point { int x; int y; }; 

これは2人のintメンバーxyを持つ新しいタイプstruct pointを宣言します。

struct point { int x; int y; } my_point; 

これは、2人のintメンバーxyを持つ新しいタイプstruct pointを宣言し、これはタイプstruct pointのオブジェクトmy_pointを宣言します。

2

my_pointは、タイプstruct pointの変数です。

1

最初はstructの型を宣言し、2番目の型は型とインスタンスの両方を宣言しますmy_point。つまり、my_pointはタイプではなく、実際のstruct pointインスタンスです。

1

第2に、タイプstruct pointからの可変文字列(my_point)も定義します。

1

最初の構造体のみが構造体を宣言します。後でそのオブジェクトを作成するために後で使用する必要があります。 第2のものは、構造とそのオブジェクトを同時に宣言します。

関連する問題