void函数内创建并返回一个结构体
分析:首先,结构体在函数体内定义,并能将该结构体返回。所以不能定义结构体变量,这样函数结束该结构体变量就销亡了,只能通过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函数内创建并返回一个结构体相关推荐
- c语言返回结构体,(C/C++) 用函数返回一个结构体
方法一: 参数里含有指向指针的指针. 注意:如果函数参数里只有一个指向结构体的指针,是无法正确地返回结构体的值的.原因在于在编译的时候,会对入参p产生一个备份_p. 参考此文:http://www.c ...
- 变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在
函数内创建的数组在调用后,是不是就不存在 本帖最后由 test_lockxxx 于 2014-04-23 09:31:06 编辑 第1种写法: char *getABC() { char str[10 ...
- Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承
结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...
- 现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········
原题:现要为某一个销售部门编写一个程序管理约100种商品.要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001).商品名称.商品销售量和商品销售额等信息,并编写以下函数: 1.编写一个函 ...
- 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出
/*定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年 问题. 写一个函数days,实现上述计算.由主函数将年.月.日传递给days函数,计算后将 日子数传回主函数输出*/#in ...
- java jni 结构体_JAVA 的JNI,传参为结构体问题: 我在网上找的资料://返回一个结构 public native DiskInfo getStruct();...
Java代码:classDiskInfo{//名字publicStringname;//序列号publicintserial;}//返回一个结构publicnativeDiskInfogetStruc ...
- 算法训练 - P1101 ——有一份提货单,其数据项目有:商品名(MC)、单价(DJ)、数量(SL)。定义一个结构体prut,其成员是上面的三项数据。在主函数中定义一个prut类型的结构体数组,输入每
问题描述 有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输 ...
- cjson 对象是json数组型结构体_cJSON创建并解析json结构体 | 学步园
cJSON 对于cJSON的使用,我主要是用来模拟远程服务器端返回的一个json类型的目录结构,客户端进行获取并进行解析,把解析出来的目录按照原本的结构显示在本地. cJSON简介 cJSON是一个超 ...
- go语言基础(二)函数,数组,指针,结构体
目录 函数 匿名函数 函数闭包的简单使用以及获取键盘输入 闭包加上函数多返回值 为什么闭包不会被垃圾回收 defer 内置函数panic.recover 语言变量作用域 数组 数组定义 数组+函数+宏 ...
最新文章
- GROMACS运行参数之md.mdp文件详解
- shell错误 sed: can't read : No such file or directory
- [Eclipse]GEF入门系列(九、增加易用性)
- asp.net mvc 使用bootstrap的模态框插件modal
- 光耦的CTR(Current Transfer Ratio)值概念及计算方法
- UOJ#84-[UR #7]水题走四方【dp】
- t–sql pl–sql_SQL Server –在T-SQL中使用最低的度量单位
- Android为TV端助力 浅谈Aidl 通讯机制
- fiddler 使用
- 至今为止碰到的非常妖怪的计算机问题
- 老李推荐:第6章2节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-获取命令字串...
- 计算机常用的启动方法有,加快电脑开机、运行的常用手段
- 关于openpyxl读取excel中图片(shape)的注意点
- unity创建一个VR项目(一)
- 使用CS发送钓鱼邮件
- 服务器 战地4 无限载入,战地4卡在loading界面无限载入_战地4无限载入解决方法...
- Cutting(思维)
- adb连接雷电模拟器失败
- JavaWeb 获取客户端的真实IP地址
- 计算机 睡眠 无法打印,台式机睡眠后打不开怎么办