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

北京网站建设报价北京建王环境发展有限公司

北京网站建设报价,北京建王环境发展有限公司,招商码头无忧查询系统,那些网站容易做淘宝推广一、结构体的声明 1. 结构体的基本概念 结构体是一些值的集合#xff0c;这些值称为成员变量。结构体的每个成员可以是不同类型的变量。结构体使得C语言有能力描述复杂类型。 如学生#xff0c;有姓名、学号、性别等#xff1b;如书#xff0c;有作者#xff0c;出版日期…一、结构体的声明 1. 结构体的基本概念 结构体是一些值的集合这些值称为成员变量。结构体的每个成员可以是不同类型的变量。结构体使得C语言有能力描述复杂类型。 如学生有姓名、学号、性别等如书有作者出版日期价格等 2. 结构体的声明 1声明格式为 struct tag {member-list; }variable-list;其中member-list为结构体成员变量列表variable-list为需要创建的结构体变量的列表 例如描述一个学生的结构体声明就可以写成 struct Stu {char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号 };//分号不能丢3. 结构体的成员类型 结构体的成员可以是标量、数组、指针甚至是其他结构体 4. 结构体变量的定义和初始化 1定义 沿用上面描述学生的声明声明一个结构体变量可以有两种方式 声明类型的同时定义变量即将变量名直接写在变量列表中或者另起一行像定义其他类型变量一样定义结构体变量 如下面这段代码 struct Stu {char name[20];int age;char sex[5];char id[20]; }Stu1,Stu2; //声明类型的同时定义变量Stu1和Stu2 struct Stu Stu3; //另起一行定义结构体变量Stu3注意这里另起一行定义结构体变量的写法与下面即将提到的另一种方式区别 还有一种定义方式不过此时结构体声明部分与上面的略有不同因为用到了 typedef类型重命名关键字代码如下 typedef struct Stu {char name[20];int age;char sex[5];char id[20]; }Stu;注意这里最后的Stu不是上面说所的变量列表中的内容即不是声明类型的同时定义的变量而是这个结构体类型的一个重命名此时定义一个结构体变量的正确写法就应为Stu Stu4当然写成struct Stu Stu4;也没错。但需要注意上面没有用typedef关键字进行类型重命名的声明只能写成struct Stu 变量名;而不能写成Stu 变量名; 2初始化 即定义变量的同时赋予初值 这里继续沿用上面学生的声明 struct Stu {char name[20];int age;char sex[5];char id[20]; }Stu1 {小明,16,男,124410} //声明类型的同时定义变量Stu1 struct Stu Stu2 {小红,16,女,124450}; //另起一行定义结构体变量Stu2结构体的嵌套初始化 struct Node {int data;struct Point p;struct Node* next; }n1 {10, {4,5}, NULL}; //结构体嵌套初始化 struct Node n2 {20, {5, 6}, NULL};//结构体嵌套初始化5. 补充说明 结构体的声明一般是放在主函数之外的故声明类型的同时定义的变量一般为全局变量。虽然语法也允许结构体的声明放在主函数中不过一般不这么做。 二、结构体成员的访问 1. 结构体变量访问成员 结构变量的成员是通过点操作符 ‘ . ’ 访问的。点操作符接受两个操作数形式为结构体变量名.成员变量名。如下面这段代码 #include stdio.h struct Stu {char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号 }Stu1 { 小明,16,男,124410 };//分号不能丢int main() {printf(%s\n, Stu1.name);printf(%d\n, Stu1.age);printf(%s\n, Stu1.sex);printf(%s\n, Stu1.id);return 0; }运行结果 2. 结构体指针访问成员 有时候我们得到的不是一个结构体变量而是指向一个结构体的指针。 那么此时我们通过另一个操作符 ‘-’ 进行访问。如下代码 #include stdio.h struct Stu {char name[20];int age; };void print(struct Stu* ps) {printf(name %s age %d\n, (*ps).name, (*ps).age);//使用结构体指针访问指向对象的成员printf(name %s age %d\n, ps-name, ps-age); }int main() {struct Stu s { zhangsan, 20 };print(s);//结构体地址传参return 0; }运行结果 代码中的print函数的参数是一个结构体指针故在进行参数传递时传的是结构体的地址下面一部分还会说明那么在print函数内部进行的成员访问实际上是通过结构体指针进行的。所以用到操作符 ‘-’ 。 由运行结果可以看出使用操作符 ‘-’ 就等价于先解引用结构体指针得到结构体变量再通过操作符 ‘ . ’ 进行成员访问。 三、结构体的传参 结构体的传参和变量的传参一样分为值传递和地址传递。结构体在进行传参时一般用的都是地址传递即传递结构体的地址。 原因函数传参的时候参数是需要压栈的。如果传递一个结构体对象的时候结构体过大参数压栈的的系统开销比较大所以会导致性能的下降。 本章完。 看完觉得有觉得帮助的话不妨点赞收藏鼓励一下有疑问或有误地方的地方还恳请过路的朋友们留个评论多多指点谢谢朋友们
http://www.hkea.cn/news/14592762/

相关文章:

  • 贵州建设厅网站怎样查询电工证wordpress 自定义布局
  • 运动网站源码搜索引擎优化代理
  • 青岛建站推广连锁加盟网站制作
  • 济宁手机网站建设公司佛山市网站建设 骏域动力
  • 上海高端定制网站公司我自己怎么建网站
  • 学网站开发推荐书图片在线编辑器免费
  • 怎么样免费给网站做优化中国搜索引擎大全
  • 玉林网站建设公司装企erp管理系统
  • 网站建设与管理的实训报告贵州企业展示型网站建设
  • 电子商务网站建设a卷广州天拓做网站吗
  • 车间管理系统中山做网站优化
  • 塔罗牌手机网站制作小型公众号开发
  • 东莞网站设计找谁网站建设佰金手指科杰二五
  • 兴山县铁路建设协调指挥部网站珠海网站建设平台
  • 美化wordpress后台宁波seo优化
  • 旅游网站网页设计方案我自己的网站
  • 美的企业微信网站外链网站推荐几个
  • 编写网站的语言有哪些响应式网站建设好么
  • 青岛网站建设公司怎么样国际新闻头条最新热点新闻
  • 做优惠券网站网站开发商外包
  • 连连建设跨境电商网站wordpress文章添加seo标题代码
  • lnmp怎么做网站建设农家书屋官方网站
  • 做文学类网站后期花费东莞精准网络营销推广
  • 网站seo网络优化深圳手机医疗网站建设
  • 兰州光辉网站建设wordpress安装音乐插件
  • 怎样建立一个自己的网站校园网站建设背景
  • 湖北定制型网站建设公路建设管理办公室网站
  • 零基础怎么建设网站wordpress简历模板
  • 佛山外贸网站建设行情合肥网站设计服务
  • 做海报一般都去什么网站看手机网站 生成