How to create a new instance of a struct

后端 未结 3 479
独厮守ぢ
独厮守ぢ 2021-01-01 16:50

What is the correct way to create a new instance of a struct? Given the struct:

struct listitem {
    int val;
    char * def;
    struct listitem * next;
};
         


        
3条回答
  •  误落风尘
    2021-01-01 17:02

    The second way only works if you used

    typedef struct listitem listitem;
    

    before any declaration of a variable with type listitem. You can also just statically allocate the structure rather than dynamically allocating it:

    struct listitem newItem;
    

    The way you've demonstrated is like doing the following for every int you want to create:

    int *myInt = malloc(sizeof(int));
    

提交回复
热议问题