0
 typedef struct Node{
        int x;
        int y;
        struct Node* next;
    }Node;

この方法でメインの「リスト」に作成したい:

int main(){
        Node list;
 }

この方法ではありません:

int main(){
        Node list = {1,2,NULL};
    }

私はこのように試みた構造体の宣言で構造体を初期化したい:

 typedef struct Node{
        int x;
        int y;
        struct Node* next;
    }Node = {1,2,NULL};

エラー C2513: 'ノード': '=' の前に変数が宣言されていません

助けが必要

4

2 に答える 2

3

Cでは、構造体メンバーに事前定義された値を指定することはできません。コンストラクターのような関数またはコンストラクターのようなマクロを使用してください。

于 2012-04-24T17:07:35.487 に答える
1

typedef (または構造体) の「ステートメント」は、オブジェクトではなく型を定義します。

型には値がありません。物との関係で価値を語ることだけが理にかなっています。

オブジェクトにはデフォルト値がありません (0暗黙的に初期化される場合を除く)。

だから、やりたいことができない。

于 2012-04-24T17:14:28.857 に答える