[C语言] 数据结构-预备知识跨函数使用内存

2018-01-27 19:12:11来源:cnblogs.com作者:陶士涵人点击

分享

跨函数使用内存
一个函数运行结束,使用malloc函数分配的内存,如果不调用free,就不会释放
在另一个函数中还可以继续使用

#include <stdio.h>#include <malloc.h>//跨函数使用内存//传递结构体指针,占用内存少struct Student {        int age;        int score;        char *name;};struct Student * createStudent(struct Student *);//前置申明void showStudent(struct Student *);int main(void){        struct Student *pst;//定义,当前只占4个字节        pst=createStudent(pst);//创建,分配内存        showStudent(pst);//展示,继续使用上面的内存}struct Student * createStudent(struct Student *pst){        pst=(struct Student *)malloc(sizeof(struct Student));//给这个结构体分配内存,返回了指针        pst->age=100;//结构体成员赋值        pst->score=9999;        pst->name="taoshihan";        return pst;}void showStudent(struct Student *pst){        //继续使用上面函数中分配的内存        printf("%s  ===  %d === %d ",pst->name,pst->age,pst->score);}

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台