尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
结构体指针做为输入型参数和返回参数为结构体指针
结构体指针做为输入型参数和返回参数为结构体指针结构体指针运用C的代码其中的原理在代码中有注释运行结果结构体指针运用这个是测试笔记。C的代码其中的原理在代码中有注释#includestdio.htypedefstruct// 创建一个结构体{intdisk;intfile;}SCFILE;SCFILE*open(void)// 创建一个函数返回值是结构体指针{SCFILE*hdlNULL;// 创建一个结构体指针 初始化的时候需要 赋值 NULL避免野指针printf(open star 1\n);hdl(SCFILE*)malloc(sizeof(SCFILE));// 给指针分配指向的地址printf(hdl value %p\n,hdl);// 直接打印 hdl 表示该指针的指向的地址 即该结构体指针存的值printf(*hdl value %d\n,*hdl);// *p 表示的指针进行解引用 由于结构体的存储特性直接 *hdl 表示结构体中的第一个元素的值printf(hdl value %p\n,hdl);// 表示该结构体指针的地址printf(open 2\n);hdl-disk10;// 给结构体中的元素赋值printf(open 3\n);hdl-file20;// 给结构体中的元素赋值printf(open 4\n);printf(*hdl value %d\n,*hdl);// 第一个元素的值printf(hdl value %p\n,hdl);// 结构体指针里指向的地址即该结构体指针存的值printf(hdl value %p\n,hdl);// 该结构体指针的地址printf(open end\n);returnhdl;}// 使用二重指针 // 直接传入指针的地址intfffopen(SCFILE**hdl){*hdlopen();// 这里直接把返回的指针即地址值赋值给传入的指针的地址那么就把传入指针指向的地方改变了printf(4\n);if(hdlNULL){printf(sAPI_fopen err\r\n);return-1;}printf(5\n);printf(hdl-disk %d\n,(*hdl)-disk);printf(hdl-file %d\n,(*hdl)-file);return0;}intfffopen1(SCFILE*hdl){int*aaNULL;SCFILE*pHd(SCFILE*)malloc(sizeof(SCFILE));printf(sizeof(pHd) %d\n,sizeof(pHd));// 可以测出不管什么类型的指针其大小都是一样的我的这里是 4字节和运行的机器位数有关printf(sizeof(aa) %d\n,sizeof(aa));printf(hdl value %p\n,hdl);// hdl 存储的地址值printf(*hdl value %d\n,*hdl);// hdl 第一个元素的值printf(hdl addr %p\n,hdl);// hdl 的地址printf(\n);printf(pHd value %p\n,pHd);// phd 存储的值printf(*hdl value %d\n,*pHd);// pHd 第一个元素的值printf(pHd addr %p\n,pHd);// pHd 的地址pHdhdl;// 把 hdl 中存储的地址值赋值给 pHd 即pHd 指向了那个地址printf(4\n);printf(hdl value %p\n,hdl);// hdl 存储的地址值printf(*hdl value %d\n,*hdl);// hdl 第一个元素的值printf(hdl addr %p\n,hdl);// hdl 的地址printf(\n);printf(pHd value %p\n,pHd);// phd 存储的值printf(*hdl value %d\n,*pHd);// pHd 第一个元素的值printf(pHd addr %p\n,pHd);// pHd 的地址*pHd*open();// 把open函数返回的赋值给 pHd open返回的是结构体指针 加上* 表示解引用 即把两边的解引用出来赋值给新的因为新的也指向传入的地址//pHd open(); //如果写成这种是无法通过输入型参数把值返回的因为这样表示返回的指针赋值即另外一个地址给另外一个指针传入的就无法改变printf(5\n);printf(hdl value %p\n,hdl);// hdl 存储的地址值printf(*hdl value %d\n,*hdl);// hdl 第一个元素的值printf(hdl addr %p\n,hdl);// hdl 的地址printf(\n);printf(pHd value %p\n,pHd);// phd 存储的值printf(*hdl value %d\n,*pHd);// pHd 第一个元素的值printf(pHd addr %p\n,pHd);// pHd 的地址if(hdlNULL){printf(sAPI_fopen err\r\n);return-1;}printf(6\n);printf(hdl-disk %d\n,pHd-disk);// 由于 pHd 和 hdl 指向的地址是同一块所以打印出的是一样的printf(hdl-file %d\n,pHd-file);printf(hdl-disk %d\n,hdl-disk);printf(hdl-file %d\n,hdl-file);return0;}voidmain(void){#if0SCFILE*hdl(SCFILE*)malloc(sizeof(SCFILE));printf(11\n);printf(hdl value %p\n,hdl);// hdl 存储的地址值printf(*hdl value %d\n,*hdl);// hdl 第一个元素的值printf(hdl addr %p\n,hdl);// hdl 的地址printf(1111\n);if(fffopen(hdl)-1){printf(error);}#elseSCFILE*hdl(SCFILE*)malloc(sizeof(SCFILE));printf(11\n);printf(hdl value %p\n,hdl);// hdl 存储的地址值printf(*hdl value %d\n,*hdl);// hdl 第一个元素的值printf(hdl addr %p\n,hdl);// hdl 的地址printf(1111\n);if(fffopen1(hdl)-1){printf(error);}#endifprintf(OK\n);printf(hdl-disk %d\n,hdl-disk);printf(hdl-file %d\n,hdl-file);}运行结果
RELATED

相关推荐

2026装修封窗为什么必选系统门窗?内行不说的真相都在这里

2026装修封窗为什么必选系统门窗?内行不说的真相都在这里

装修封窗绝对是最容易“省小钱、亏大钱”的隐蔽工程。不少业主为了压缩装修预算,选择性价比看似更高的普通断桥铝拼装窗。可入住后才发现,窗户频繁漏风、暴雨天渗水严重、室外噪音穿透室内,还存在夏季闷热憋闷、冬季玻璃结露发霉等诸多问题。…

📅 2026/11/13 23:57:47
QQ空间导出助手:终极完整指南,快速永久备份你的青春记忆

QQ空间导出助手:终极完整指南,快速永久备份你的青春记忆

QQ空间导出助手:终极完整指南,快速永久备份你的青春记忆 【免费下载链接】QZoneExport QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存 项目…

📅 2026/11/12 20:37:05
食品PLM头部标杆一半科技,以爱研PLM建立行业研发新高度!

食品PLM头部标杆一半科技,以爱研PLM建立行业研发新高度!

2026年,食品行业的“隐形战争”已经打响。不再是铺天盖地的广告,也不再是绞尽脑汁的营销,而是回归到了最根本的“研发”本身。当消费者的口味三天一变,当监管的法规一年三改,当原料的价格像过山车一样起伏,…

📅 2026/11/13 6:30:34
MORE NEWS

更多资讯

📰

汽车维修电工证有用么 过期了怎么换电子证书

汽车维修电工证有用么 过期了怎么换电子证书 证书过期了不知道怎么复审延期,你是不是也遇到了这个问题?很多从事汽车维修行业的电工都清楚, 汽车维修电工证…

📰

如何投诉电工证实操考试考什么

电工证实操考试心里没底怕挂科?保姆级教程帮你稳过 你是不是也这样,电工证实操考试临近,心里没底,怕挂科?考试内容记不住,操作流程不熟悉,连考场规则都搞不清?别急,这篇文章就是为你量身打造的 保姆级教程 ,帮你稳稳拿证不慌张。…

📰

辽源高压电工证报名千万别踩坑,新手怎么避坑报名更靠谱

辽源高压电工证报名千万别踩坑,新手怎么避坑报名更靠谱 你是不是也在为辽源高压电工证报名发愁?怕被中介坑?怕走弯路?别急,作为在应急管理行业从业多年的“老江湖”,我懂你此刻的焦虑。报名这件事,说简单也简单,但要是没搞清楚流程,真的容易上当受骗…

📰

金华中级电工证补贴怎么领?工地太忙根本没时间复习考试

金华中级电工证补贴怎么领?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这几乎是所有一线电工师傅的共同烦恼。尤其是现在, 金华中级电工证补贴 政策一出,大家对考证的热情更高了。但问题来了, 全国通用…

📰

贵阳特种工证怎么考才不白花钱?全国通用证书避坑指南

贵阳特种工证怎么考才不白花钱?全国通用证书避坑指南 怕考不过白交培训费?贵阳特种工证报考前你必须知道这些,别等到拿不到证才后悔。 在贵阳从事建筑、电力、焊接等行业,特种作业操作证几乎是门槛级存在。可很多施工企业负责人和一线工人反馈,…

📰

深圳高压电工证报名费2026河南最新政策怎么考才不被坑

深圳高压电工证报名费2026河南最新政策怎么考才不被坑 不知道去哪报名怕被中介坑,现在考证越来越复杂,很多人因为信息不对称被坑了钱还拿不到证,特别是像你这样刚毕业的焦作工程类学生,想要进入电工行业,第一步就是搞定高压电工证,但报名流程、费用…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬