当前位置: 首页 > news >正文

平湖建设局网站深圳网站建设外贸

平湖建设局网站,深圳网站建设外贸,金凤区建设交通局网站,事件营销定义你是真的“C”——详解结构体知识点#x1f60e;前言#x1f64c;什么是结构体#xff1f;#x1f64c;1. 结构体的声明#x1f64c;1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化2. 结构体成员的访问#x1f64c;3结构体传参#x… 你是真的“C”——详解结构体知识点前言什么是结构体1. 结构体的声明1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化2. 结构体成员的访问3结构体传参总结撒花博客昵称博客小梦 最喜欢的座右铭全神贯注的上吧 作者简介一名热爱C/C算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主 博主小留言哈喽各位CSDN的uu们我是你的博客好友小梦希望我的文章可以给您带来一定的帮助话不多说文章推上欢迎大家在评论区唠嗑指正觉得好的话别忘了一键三连哦 前言 哈喽各位友友们我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下我仅已此文和大家分享C语言中结构体相关的知识点~ 都是精华内容可不要错过哟 什么是结构体 1. 结构体的声明 1.1 结构的基础知识 在我们生活的世界是十分丰富多彩的C语言虽然提供了许多的类型但是对于描述这个丰富多彩的世界是不够用的。因此需要自定义一些类型。而结构体就属于自定义数据类型的一种。比如描述老师描述同学抑或是描述学生该用什么类型呢为了解决这些问题结构体就出现了。 简单的概括来说结构是一些值的集合这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2 结构的声明 那么结构体是如何声明的呢接下来我举个栗子辅助大家理解一下 typedef struct Stu {char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号 }Stu//分号不能丢1.3 结构成员的类型 结构的成员可以是标量、数组、指针甚至是其他结构体。 1.4 结构体变量的定义和初始化 有了结构体类型那如何定义变量其实很简单。请看下图分析 当然除了上述的初始化结构体还支持嵌套初始化也就是一个结构体的变量作为另外一个结构体的成员然后初始化时可以进行嵌套初始化。这是C语言语法支持的。在结构体中很常会见到与typedef结合使用这是为什么呢其实typedef 可以起到结构体类型重命名的作用目的是为了简单化结构体类型名。接下来举个栗子辅助大家理解 typedef struct Node {int data;struct Node* next; }Node;int main() {struct Node b1;Node b2;return 0; }有上述代码可以看出定义结构体b1变量明显比定义b2要复杂类型名得到简化提高了代码的阅读性。 2. 结构体成员的访问 结构体变量访问成员 结构变量的成员是通过点操作符.访问的。点操作符接受两个操作数。结构体变量.结构体成员结构体指针访问指向变量的成员有时候我们得到的不是一个结构体变量而是指向一个结构体的指针。结构体指针-结构体成员 这里举个栗子 #include stdio.h struct Book {char name[20];int price; }; void print(struct Book* p) {printf(%s %d\n, p-name, p-price); }int main() {struct Book b1 {C语言, 66};struct Book b2 { .price 80, .name 数据结构};//初始化成员变量可以不按照声明的顺序//结构体变量.结构体成员printf(%s %d\n, b1.name, b1.price);printf(%s %d\n, b2.name, b2.price);//结构体指针-结构体成员struct Book* p1 b1;print(b1);return 0; }程序运行结果图 3结构体传参 结构体传参是怎么传的呢其实也有两种传法第一种是传值调用另外一种就是传址调用啦。那这两种传参的方法哪种更优呢接下来我举个栗子辅助大家理解这两种传参方法。 #include stdio.h struct S {int arr[100];int n; }; void print1(struct S ss) {int i 0;for (i 0; i 10; i){printf(%d , ss.arr[i]);}printf(\n%d\n, ss.n); }void print2(struct S* ps) {int i 0;for (i 0; i 10; i){printf(%d , ps-arr[i]);}printf(\n%d\n, ps-n); }int main() {struct S s { {1,2,3,4,5}, 100 };print1(s);print2(s);return 0;画图分析 因为函数传参的时候参数是需要压栈的。如果传递一个结构体对象的时候结构体过大参数压栈的的系统开销比较大所以会导致性能的下降。因此选择传址调用方法才是最优的选择。 结论结构体传参的时候要传结构体的地址。 总结撒花 本篇文章旨在分享C语言详解结构体的相关知识点。希望大家通过阅读此文有所收获如果我写的有什么不好之处请在文章下方给出你宝贵的意见。如果觉得我写的好的话请点个赞赞和关注哦~
http://www.dnsts.com.cn/news/226150.html

相关文章:

  • 网站建设的技术支持论文个人网页末班
  • 网站建设考核标准产品外观设计流程
  • 上海市城乡建设网站福州模板建站代理
  • org域名怎么注册深圳seo优化seo关键词
  • 专业公司网站建设相亲网站上做投资的女生
  • 成都做网站设网站建设及优化的策划书
  • 做网站编程时容易遇到的问题网站新闻模板
  • 网站建设的技术体会广告公司简介免费
  • 如何做好一个网站的推广外链怎么打开
  • 网站常州建设设计制作合同交印花税吗
  • 承德网站建设规划建立网站内容需要做的事
  • 小县城做服务网站wordpress文章页的三大标签
  • wordpress如何建立网站开网店被运营公司骗了怎么办
  • 祁东县建设局网站织梦 两个网站
  • wordpress 做企业网站环保公司宣传册设计样本
  • 哪个网站可以给图片做链接各大网站收录提交入口
  • 做充值网站网站开发进度设计
  • 网站微营销公司哪家好合肥网页设计公司校企合作
  • 单位如何建设网站大学生作业做网站
  • 自己做公众号和小说网站推广手机网页开发者模式
  • 网页设计与网站建设课后习题答案网站建设宣传图片
  • 金阊网站建设做网站网页的软件是绿色的图标什么
  • 项目网站开发WordPress十万数据
  • 网站制作器WordPress问答插件路由
  • 品质网站建设wordpress从数据库删除插件
  • 网站代码加密了怎么做河南平顶山网站建设与管理专业
  • 网站根目录文件佛山专业做网站公司
  • 网站制作需要什么资料番禺区营销型网站建设
  • 销售网站内容设计科技公司名称大全简单大气
  • 易班网站建设设计网站的素材