分析:首先,结构体在函数体内定义,并能将该结构体返回。所以不能定义结构体变量,这样函数结束该结构体变量就销亡了,只能通过malloc申请一个结构体内存,使用结构体指针。其次,该函数无返回值,只能通过参数的形式,将结构体指针返回。最后,通过形参改变实参值的方式有两种:传引用、传指针。不存在对指针变量的引用,所以只能通过传指针的方式,即传指向结构体的指针变量的地址。所以,通过双重指针,实现该功能。

#include <stdio.h>
#include <stdlib.h>
struct Student
{long age;
};void fun1(struct Student ** s1){(*s1) = (struct Student *)malloc(sizeof(struct Student));(*s1)->age = 27;
}
int main(){struct Student * s1[1];fun1(s1);printf("age = %d\n",(*s1)->age);free(s1[0]);return 0;
}

void函数内创建并返回一个结构体相关推荐

  1. c语言返回结构体,(C/C++) 用函数返回一个结构体

    方法一: 参数里含有指向指针的指针. 注意:如果函数参数里只有一个指向结构体的指针,是无法正确地返回结构体的值的.原因在于在编译的时候,会对入参p产生一个备份_p. 参考此文:http://www.c ...

  2. 变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在

    函数内创建的数组在调用后,是不是就不存在 本帖最后由 test_lockxxx 于 2014-04-23 09:31:06 编辑 第1种写法: char *getABC() { char str[10 ...

  3. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  4. 现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········

    原题:现要为某一个销售部门编写一个程序管理约100种商品.要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001).商品名称.商品销售量和商品销售额等信息,并编写以下函数: 1.编写一个函 ...

  5. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出

    /*定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年 问题. 写一个函数days,实现上述计算.由主函数将年.月.日传递给days函数,计算后将 日子数传回主函数输出*/#in ...

  6. java jni 结构体_JAVA 的JNI,传参为结构体问题: 我在网上找的资料://返回一个结构 public native DiskInfo getStruct();...

    Java代码:classDiskInfo{//名字publicStringname;//序列号publicintserial;}//返回一个结构publicnativeDiskInfogetStruc ...

  7. 算法训练 - P1101 ——有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每

    问题描述 有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输 ...

  8. cjson 对象是json数组型结构体_cJSON创建并解析json结构体 | 学步园

    cJSON 对于cJSON的使用,我主要是用来模拟远程服务器端返回的一个json类型的目录结构,客户端进行获取并进行解析,把解析出来的目录按照原本的结构显示在本地. cJSON简介 cJSON是一个超 ...

  9. go语言基础(二)函数,数组,指针,结构体

    目录 函数 匿名函数 函数闭包的简单使用以及获取键盘输入 闭包加上函数多返回值 为什么闭包不会被垃圾回收 defer 内置函数panic.recover 语言变量作用域 数组 数组定义 数组+函数+宏 ...

最新文章

  1. GROMACS运行参数之md.mdp文件详解
  2. shell错误 sed: can't read : No such file or directory
  3. [Eclipse]GEF入门系列(九、增加易用性)
  4. asp.net mvc 使用bootstrap的模态框插件modal
  5. 光耦的CTR(Current Transfer Ratio)值概念及计算方法
  6. UOJ#84-[UR #7]水题走四方【dp】
  7. t–sql pl–sql_SQL Server –在T-SQL中使用最低的度量单位
  8. Android为TV端助力 浅谈Aidl 通讯机制
  9. fiddler 使用
  10. 至今为止碰到的非常妖怪的计算机问题
  11. 老李推荐:第6章2节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-获取命令字串...
  12. 计算机常用的启动方法有,加快电脑开机、运行的常用手段
  13. 关于openpyxl读取excel中图片(shape)的注意点
  14. unity创建一个VR项目(一)
  15. 使用CS发送钓鱼邮件
  16. 服务器 战地4 无限载入,战地4卡在loading界面无限载入_战地4无限载入解决方法...
  17. Cutting(思维)
  18. adb连接雷电模拟器失败
  19. JavaWeb 获取客户端的真实IP地址
  20. 计算机 睡眠 无法打印,台式机睡眠后打不开怎么办

热门文章

  1. [转] Android开发环境的搭建 Android虚拟机搭建 安卓开发环境搭建
  2. vue 项目实战 递归
  3. 数加加众包实习生招募进行中
  4. uniapp 微信小程序发布
  5. 完全二叉树 满二叉树
  6. 将代码上传到GitHub上
  7. 【2.5万字】详解 Python-docx 自动生成word图文报告
  8. python做一个登录注册界面_python做一个登录注册界面的方法
  9. CreateProcess函数详解(转)
  10. 百度智能小程序注册流程