结构体内存申请和释放:
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<string.h>
struct Person{
char *name;
int age;
int height;
int weight;
};
struct Person *creat_person(char *name , int age, int height , int weight)
{
struct Person *person_first = malloc(sizeof(struct Person));
assert(person_first != NULL);
person_first->name = name;
person_first->age = age;
person_first->height = height;
person_first->weight = weight;
}
void person_print(struct Person *person)
{
printf("name is %s\n" , person->name);
printf("age is %d \n", person->age);
printf("height is %d \n" , person->height);
printf("weight is %d \n" , person->weight);
}
void person_destroy(struct Person *person)
{
assert(person != NULL);
free(person->name);
free(person);
}
int main(int argc , char *argv[])
{
struct Person *first_person;
first_person = creat_person("wayne" , 24 ,176 , 65);
person_print(first_person);
person_destroy(first_person);
return 0;
}