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

跨函数使用内存
一个函数运行结束,使用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); 
}

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12501.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论