learn c the hard way 16

来源:互联网 发布:金融炼金术 知乎 编辑:程序博客网 时间:2024/05/20 15:41

结构体内存申请和释放:

#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;}


原创粉丝点击