专栏首页陶士涵的菜地[C语言] 数据结构-预备知识跨函数使用内存

[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);
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [javaSE] java上传图片给PHP

    陶士涵
  • [C语言] 数据结构-预备知识结构体

    pst->name="shihan";//<==> (*pst).name

    陶士涵
  • [Linux] PHP程序员玩转Linux系列-搭建代码开发环境

    有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家能够以最简单的方式实现目的,配置也是能不自定义的的统统不配置,不是为了...

    陶士涵
  • Windows on Device 项目实践 3 - 火焰报警器制作

    在前两篇《Windows on Device 项目实践 1 - PWM调光灯制作》和《Windows on Device 项目实践 2 - 感光灯制作》中,我们...

    ShiJiong
  • cmd命令详解

    这几天用了一下Windows系统的“黑框”,即win+R键,发现有些命令都忘了,还得查,就总结了一下:

    泰斗贤若如
  • c语言基础学习02_windows系统下的cmd命令

    ============================================================================= 注意...

    黑泽君
  • 将.m文件转换为.exe可执行文件

    第二步:在MATLAB下使用:mcc -m 文件名.m ,将 .m 文件编译成 .exe 文件。

    AIHGF
  • Flutter学习

    此时,我们先解决 Try re-installing or updating your Andriod SDK Manager 这个问题:

    草莓和奶酪
  • 浏览器中的 Event Loop,宏任务与微任务

      当我们执行 JS 代码的时候其实就是往执行栈中放入函数,那么遇到异步代码的时候该怎么办?其实当遇到异步的代码时,会被挂起并在需要执行的时候加入到 Task(...

    TimothyJia
  • 如何使用linux命令统计文本中某个单词的出现频率

    cat words.txt |tr -cs "[a-z][A-Z]" "[\012*]"|tr A-Z a-z|sort|uniq -c|sort -k1nr ...

    用户5166556

扫码关注云+社区

领取腾讯云代金券