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

我的网站怎么做seo教程百度网盘

我的网站怎么做,seo教程百度网盘,汽车之家网址,菏泽手机网站建设今天我们来讲讲C语言基础的最后一个知识点了 —— 结构体。不知道大家对前面的C语言基础的知识点掌握的怎么样了呢#xff1f;下面我们就开始讲解结构体的相关知识点吧#xff01; 什么是结构体呢#xff1f;或者说结构体有什么作用呢#xff1f;对于复杂对象来说#xff…        今天我们来讲讲C语言基础的最后一个知识点了 —— 结构体。不知道大家对前面的C语言基础的知识点掌握的怎么样了呢下面我们就开始讲解结构体的相关知识点吧 什么是结构体呢或者说结构体有什么作用呢对于复杂对象来说其不能通过内置类型来直接描述和表示这时就有结构体来描述复杂类型。例如如果我们想要描述学生的相关信息包括学生的 名字 年龄 性别 学号 这几项信息这时似乎通过我们之前所了解的变量、数组等类型并不能同时存储这些信息那这时候采用结构体就能存储这些信息了。 1. 结构体类型的声明 在学习结构体的声明前我们先来了解下面这几个词个概念 1. 结构结构是一些值的集合这些值称为成员变量。结构的每个成员可以是不同类型的变量。         2. 数组一组相同类型元素的集合。         3. 结构体一组不一定相同类型元素的集合。 正因为结构体可以存储不同类型的元素所以当我们想要存储复杂对象信息的时候首先想到的便是结构体。那结构体该怎么声明呢 结构体的声明 struct tag {         member-list;  }variable-list;  其中member-list 表示成员列表可以是1个或多个variable-list 表示结构体变量列表也可以是1个或多个。 温馨提示在结构体变量列表后的分号可不能丢了 当然我们也可以用 typedef关键字 对结构体进行重命名声明如下 typedef struct tag {        member-list;  }tag1tag2;  其中tag1tag2 是 struct tag 的别名可以是1个或多个。 学会了结构体的声明后那么上述所谈到的学生信息就可以这样定义 struct Stu {     char name[20];    // 名字     int age;                // 年龄     char sex[5];         // 性别     char id[15]       // 学号 }; 而结构成员的类型可以是变量、数组、指针、甚至是其他结构体。 2. 结构体初始化 对于结构体的初始化我们结合 代码 进行讲解。 #includestdio.hstruct stu {char name[20];int age;char sex[10]; }s2,s3,s4; typedef struct stu1 {char name[20];int age;char sex[10]; // 男女保密}stu1;int main() {struct stu s1 { zhangsan,18,male };stu1 s2 { .age 19, .name lisi, .sex female };return 0; } 在上述代码中我们采用两种方式定义了学生信息的结构体其中stu1 是 struct stu1 的别名。这里先提醒大家在C语言中如果没有对结构体类型进行重命名(即没有使用 typedef 关键字)在初始化结构体时struct关键字不能省略。即如果没有重命名则应该写 struct stu1 s2 而不是 stu1 s2。 在对结构体成员变量进行初始化时同样有两种方法初始化(分别如 s1 和 s2)。 1. 如果我们想正常对结构体成员进行初始化在初始化时要按照结构体中 成员的顺序在 {} 中依次对这些成员进行初始化这样编译器在编译运行时才能对结构体成员的初始化一一对应。反之如果不按顺序进行初始化编译器则会报警告如下图 对于结构体变量s3由于 未按顺序进行初始化则编译器发出警告 2. 那如果就是不想按顺序来对结构体成员进行初始化呢当然可以不按顺序此时初始化就如s2一样通过 .结构体成员 的形式对想先初始化的成员进行初始化。 3. 结构体成员访问 对结构体成员进行初始化之后那我们又该如何对这些成员进行访问呢即 我们如何访问 s 中的成员对于结构体来说其也是有结构体变量和指针的因此有以下2种方法 1. 结构体变量访问成员结构变量的成员是通过点操作符.访问的。点操作符接收两个操作数。即 结构体变量.成员                 2. 结构体指针访问成员结构指针的成员是通过操作符-访问的。操作符接收两个操作数。即 结构体指针-成员 代码如下 #includestdio.hstruct stu {char name[20];int age;char sex[10]; }; int main() {//局部变量struct stu s1 { zhangsan,18,male };struct stu* ps s1; // 结构体指针printf(%s %d %s\n, s1.name, s1.age, s1.sex);printf(%s %d %s\n, ps-name, ps-age, ps-sex);return 0; } 4. 结构体传参 我们先来看看 代码 #includestdio.hstruct S {int data[10];int num; };//结构体传参 void print1(struct S s) {printf(%d\n, s.num); }//结构体地址传参 void print2(struct S* ps) {printf(%d\n, ps-num); }int main() {struct S s { {1,2,3,4,5,6}, 99 };print1(s); // 传结构体print2(s); //传地址return 0; }在这段代码中我们设置了两个输出函数 print1 和 print2并通过不同的方式将 结构体变量s 传参给函数代码都能正常运行并输出正确答案。 那么各位老铁们觉得上面的 print1 和 print2 函数哪一个好些呢答案是优先选择print2函数。 这是因为 在之前函数部分我们说过 形参是实参的一份临时拷贝当我们传递一个结构体对象给函数的时候形参就会在内存中开辟一份和结构体内存一样大的空间。这时如果传递的结构体过大那么形参开辟的临时空间也会很大这样就会导致系统开销比较大从而使得程序性能的下降。 而如果我们传递的是结构体的地址时这时形参就是一个指针而指针要么 4字节大小要么 8字节大小并不会给操作系统的内存带来很大的压力从而使得程序的性能较好 至此我们C语言基础的全部知识就讲解完啦老铁们有没有对C语言更加感兴趣呢这里提前剧透一下小编后面会给大家讲讲C语言进阶的相关知识了后续的内容也需要更强的理解能力呀大家敬请期待一下吧
http://www.dnsts.com.cn/news/5309.html

相关文章:

  • 国外获奖flash网站绵阳建网站哪家好
  • 兰考县红庙关东村做网站的梭子手做鱼网站
  • 赤壁网站定制购买网站外链
  • 自助制作网站自己做热图的网站
  • 微信游戏网站开发夏津建设局网站
  • 公司做网站服务费怎样做账怎样利用网站做淘宝客
  • 淘宝做短视频网站好仿制手机网站教程
  • 漂亮网站欣赏网站建设中要尽量使用图片
  • 免费开源的个人网站系统拼多多网站怎么做
  • 网站开发设计过程惠州seo排名
  • 餐饮网站设计网站开发课题背景
  • 没有版权的图片网站几百的网站
  • 宁波集团网站建设wordpress 图片 分离
  • ssc网站建设担保交易大连做网站优化价格
  • 网站建设 阿里云58加盟创业网
  • 海南省城乡建设部网站首页创建一个网站需要做哪些工作
  • 公司网站需要多少钱注册深圳公司有什么好处
  • 网站显示内容不显示不出来网站关键词怎么做排名
  • 东莞外贸网站建设哪家好postgresql做网站用什么环境
  • app和网站开发哪个难网站宽屏版
  • 双语教学示范课程建设项目网站免费建网页
  • 优质手机网站建设已经注册了域名怎么做简单的网站
  • 太仓智能网站开发网页代码模板
  • 短视频素材免费下载网站线上推广渠道
  • 郑州公司网站设计wordpress友情链接导入
  • 做网站每天更新两篇文章苏州网络推广优化
  • 网站建设贵州焦作网站建设哪家便宜
  • 全球排行前50网站开发语言网站框架分类
  • 网站建设里面包含什么语言vs2008 手机网站开发
  • 网站小白怎么开始学网站建设电子图书网站开发的目的