1. 程式人生 > >動態分配結構體記憶體

動態分配結構體記憶體

struct Teacher{
    char name[20];
};

//巢狀結構體
struct Student{
    int age;
    struct Teacher teacher;//記憶體大小,指標也是int型別
};
  //動態分配結構體記憶體
   struct Student *p1 = (Student* )malloc(sizeof(struct Student)* 2);
   struct Student *temp = p1;
   temp->age = 18;
   strcpy(temp->teacher.name, "雪碧"
); temp++; temp->age = 36; strcpy(temp->teacher.name, "芬達"); struct Student *a = p1; printf("%#X=%#X\n",a,temp); //迴圈遍歷輸出 for (; a <p1 + 2; a++) { printf("測試結構體指標遍歷輸出 %d,%s\n", a->age, a->teacher.name); } //手動釋放記憶體 free(p1);

這裡寫圖片描述