Allocating memory for a Structure in C

后端 未结 7 1515
清酒与你
清酒与你 2020-12-12 17:10

I\'m tasked to create a program which dynamically allocates memory for a structure. normally we would use

x=malloc(sizeof(int)*y);

However,

7条回答
  •  情歌与酒
    2020-12-12 17:58

    It's exactly possible to do that - and is the correct way

    Assuming you meant to type

    struct st *x = malloc(sizeof(struct st)); 
    

    ps. You have to do sizeof(struct) even when you know the size of all the contents because the compiler may pad out the struct so that memebers are aligned.

    struct tm {
      int x;
      char y;
    }
    

    might have a different size to

    struct tm {
      char y;
      int x;
    }
    

提交回复
热议问题