c语言中使用指向结构指针的原因是什么
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"c语言中使用指向结构指针的原因是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c语言中使用指向结构指针的原因是什么"吧!1、指向结构
千家信息网最后更新 2025年01月23日c语言中使用指向结构指针的原因是什么
本篇内容主要讲解"c语言中使用指向结构指针的原因是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c语言中使用指向结构指针的原因是什么"吧!
1、指向结构的指针通常比结构本身更容易控制。
2、早期结构不能作为参数传递给函数,但可以传递指向结构的指针。
3、即使可以传递结构,传递指针通常也更有效率。
4、一些用于表示数据的结构包含指向其他结构的指针。
实例
#include#define LEN 20 struct names //定义结构体names{ char first[LEN]; char last[LEN];}; struct guy //定义结构体guy{ struct names handle; char favfood[LEN]; char job[LEN]; float income;}; int main(void){ struct guy fellow[2] = { //这是一个结构嵌套,guy结构里嵌套了names结构 //初始化结构数组fellow,每个元素都是一个结构变量 {{"Ewen","Villard"}, "girlled salmon", "personality coach", 68112.00 }, {{"Rodney","Swillbelly"}, "tripe", "tabloid editor", 432400.00 } }; struct guy * him; //这是一个指向结构的指针 printf("address #1:%p #2:%p\n",&fellow[0],&fellow[1]); him = &fellow[0]; //告诉编译器该指针指向何处 printf("pointer #1:%p #2:%p\n",him,him+1);//两个地址 printf("him->income is $%.2f:(*him).income is $%.2f\n",him->income,(*him).income);//68112.00 //指向下一个结构,him加1相当于him指向的地址加84。names结构占40个字节,favfood占20字节,handle占20字节,float占4个字节,所以地址会加84 him++; printf("him->favfood is %s: him->handle.last is %s\n",him->favfood,him->handle.last); //因为有了上面的him++,所以指向的是favfood1[1], return 0;} 输出结果为PS D:\Code\C\结构> cd "d:\Code\C\结构\" ; if ($?) { gcc structDemo02.c -o structDemo02 } ; if ($?) { .\structDemo02 }address #1:000000000061FD70 #2:000000000061FDC4pointer #1:000000000061FD70 #2:000000000061FDC4him->income is $68112.00:(*him).income is $68112.00him->favfood is tripe: him->handle.last is Swillbelly
到此,相信大家对"c语言中使用指向结构指针的原因是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
结构
指向
指针
字节
原因
语言
地址
内容
这是
学习
实用
更深
有效
两个
元素
兴趣
函数
参数
变量
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机软件开发程序代码
西安网络安全技术论坛
小学网络安全教育工作开展
数据库数据依赖包含
不懂软件开发如何做销售
运维管理软件开发费用
我的世界服务器安全区指令
java8 数据库
数据放入数据库 java
随着国家对于网络安全
什么专业要学access数据库
互联网新科技价格
bim大数据库
计算机网络技术高考必选科目
刺激战场上最强的服务器
关于护苗网络安全小报
能源互联网电力科技项目
廊坊专题护苗网络安全系列课堂
刺激战场亚服有哪些服务器
数据库运算符的应用
广东光纤网络技术开发服务标准
数据库审计 im
广东服务器阵列卡电池性能
主流的软件开发平台
网络安全作文3000字
东莞软件开发找工作
sqlite数据库自增长
北京长汀软件开发有限公司
网络技术论文1500字
湖州java软件开发自学步骤