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

卖网站链接微信朋友圈推广怎么做网站

卖网站链接,微信朋友圈推广怎么做网站,网站 文章 keywords 和主页keywords,移动端页面尺寸文章目录 前言一、结构体的声明1#xff0c;什么叫结构体?2#xff0c;结构体的类型3,结构体变量的创建和初始化4#xff0c;结构体的类型5#xff0c;结构体的初始化 二、结构体的访问1#xff0c;结构体成员的点操作符访问2#xff0c;结构体体成员的指针访问 三、结构… 文章目录 前言一、结构体的声明1什么叫结构体?2结构体的类型3,结构体变量的创建和初始化4结构体的类型5结构体的初始化 二、结构体的访问1结构体成员的点操作符访问2结构体体成员的指针访问 三、结构体传参 前言 昨天就是新的一年小编看到了一句话送给各位读者在过去的一年里也许你踏足山巅拥有团花锦簇的风光也许你进入了低谷经历了一个人的兵荒马乱但是没关系的去年千般未如愿今年万事定称心。把过去的事儿过去的人一块尘封在记忆中不再烦恼不再怀念。岁月本无语未来犹可期我始终如少年你始终如初见。新的一年我们看到了盛世的烟火看到了繁华的街景在c语言中写出烟花的代码可不是一个简单的小事情他需要不断的积累接下来我们学习结构体在后面小编会给大家讲一些小的c游戏烟花就需要用到结构体哦 提示以下是本篇文章正文内容下面案例可供参考 一、结构体的声明 1什么叫结构体? 结构就是一种集合 1,在之前我们学过很多数据类型但是这些类型是内置类型能描述的对象是非常有限的 2,但是生活中存在许多复杂对象复杂对象就是不能用单一的数据去描述的这时候为了方便描述复杂对象于是c语言就有了结构体的概念 3,相比于结构体数组是一组相同类型元素的集合而结构是一些值的集合这些值被称为成员变量结构的每个成员可以是不同的类型 分析 就比如我们划分一个人的特征 首先是性别性别为男/女 我们存储这个性别用的类型为字符类型 再次是年龄年龄肯定是正整数我们定义一个有符号类型的整数来给年龄 然后是身高身高是一个有小数点的数所以我们这里可以用浮点型来定义身高 还有很多在这里我们把人的特征集合在一起这个就是结构然后这些特征被称为成员变量每个成员 的变量类型可以相同可以不同 2结构体的类型 语法形式 struct tag {member-list ; } variable-list; 例如 //人的结构体类型声明 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }p1,p2; int main() {return 0; }分析 在这里tag就是结构体的标签也就是要描述的东西也就是复杂对象像上面的例子中的人member-list是成员列表在这里面声明成员类型也就是定义变量如上方例子中的年龄性别身高等variable-list变量列表就是我们用上面这个类型来创建变量这里肯定会有疑惑的比如int x 0这后面是不是有一个分号然后我们不初始化就是int x所以简单的来说也就是说前面的内容都是结构体的类型然后我们o就是结构体类型的变量。在上面代码中我们创建了两个结构体变量p1和p2.在这里p1和p2是全局变量。而我们在定义变量的时候要尽量用局部变量所以我们需要继续往后学习结构体的变量的创建 3,结构体变量的创建和初始化 在上面我们是在main函数外面声明的全局变量接下来我们学习结构体的变量创建 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; int main() {struct people p1 { 0 };//结构体的局部变量return 0; } }分析 在这里我们要区分一下结构体的类型是什么结构体变量是什么然后在上面你想给变量进行初始化就给他按照上面顺序类型给他赋值用逗号隔开不想初始化值就局部初始全为0注意这里和数组差不多一样的里面的成员很多用大括号括起来。 4结构体的类型 结构体的成员可以是标量数组指针甚至可以是其他结构体 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; struct team {struct people p;int num;int class; }; int main() {struct people p1 { 0 };//结构体的局部变量return 0; }分析 在这里我们又创建了一个小组成员的结构体变量在结构体变量里面我们定义了结构体people类型的变{}量p1数量和组别。这里是结构体内使用其他结构体。 5结构体的初始化 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; struct team {struct people p;int num;char class[5]; }; int main() {//struct people p1 { 0 };//结构体的局部变量struct people p1 { 张三,20,175,男 };struct team t { {张三,20,175,男} ,1,经理 };return 0; }分析 然后在上面你想给变量进行初始化就给他按照上面顺序一一对应类别给他赋值用逗号隔开不想初始化值就局部初始全为0注意这里和数组差不多一样的里面的成员很多用大括号括起来。然后结构体嵌套就在里面在加一个大括号描述另一个结构体内的成员就可以。如上方代码。打开监视窗口我们也可以发现它里面的存储情况和我们想的是一样的。如果不是一一对应的话他所赋值给的值不能给到相应的元素。然后出现下面这种情况。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/042756740f48458c9a9d9b3a8ff7a760.png) 二、结构体的访问 1结构体成员的点操作符访问 结构变量的成员是通过点操作符.访问的。点操作符接受两个操作数结构体变量.结构体成员 tabletrtd bgcolorturquoise分析 /td/tr/table在上面我们只是通过监视窗口来查看结构体内的成员我们可以将他打印出来么接下来就要用到结构体的访问也就是我们之前学习的操作符内的结构体操作符结构体操作符详见小编所写的详解c语言操作符下篇 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; struct team {struct people p;int num;char class[5]; }; int main() {//struct people p1 { 0 };//结构体的局部变量struct people p1 { 张三,20,175,男 };struct team t { {张三,20,175,男} ,1,经理 };printf(%s %d %d %s\n,p1.name,p1.age,p1.height,p1.sex);printf(%s %d %d %s %d %s, t.p.name, t.p.age, t.p.height, t.p.sex,t.num,t.class);return 0; }分析 在这里成员是内置类型不是指针所以我们用变量名点成员来访问成员元素。 2结构体体成员的指针访问 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; struct team {struct people p;int num;char class[5]; }; void print(struct people* p) {printf(%s %d %d %s\n, p-name, p-age, p-height, p-sex); } int main() {//struct people p1 { 0 };//结构体的局部变量struct people p1 { 张三,20,175,男 };struct team t { {张三,20,175,男} ,1,经理 };//printf(%s %d %d %s\n,p1.name,p1.age,p1.height,p1.sex);//printf(%s %d %d %s %d %s, t.p.name, t.p.age, t.p.height, t.p.sex,t.num,t.class);print(p1);return 0; }分析 在这里我们把之前的打印注释掉然后我们创建一个print函数来打印结构体变量p1在这里我们对他进行取地址然后接受的就是结构体指针变量在print函数里面打印结构体变量p1的成员这时候的变量p是指针变量我们就不能用点操作符来访问结构体成员了我们得用箭头操作符来访问找到指针结构体成员。如上面代码所示我们运行后还是正确的结果。 三、结构体传参 结构体传参其实我们在上面结构体的访问中就已经详细的说了但是刚才是举例说明结构体的两种访问形式显而易见结构体传参也有两种传参形式一种是直接将结构体变量本身传参另一种则是传结构体的地址。 struct people {char name[20]; //名字int age; //年龄int height; //身高char sex[5]; //性别 }; struct team {struct people p;int num;char class[5]; }; void print1(struct people p) {printf(%s %d %d %s\n, p.name, p.age, p.height, p.sex); //结构体变量.成员变量 } void print(struct people* p) {printf(%s %d %d %s\n, p-name, p-age, p-height, p-sex); //结构体指针 - 成员变量 } int main() {//struct people p1 { 0 };//结构体的局部变量struct people p1 { 张三,20,175,男 };struct team t { {张三,20,175,男} ,1,经理 };printf(%s %d %d %s\n,p1.name,p1.age,p1.height,p1.sex); printf(%s %d %d %s %d %s\n, t.p.name, t.p.age, t.p.height, t.p.sex,t.num,t.class);print1(p1);print(p1);return 0; }分析 在这里print1中传参传递的就是结构体变量本身print则是转递的是结构体的指针将结构体变量的地址取出来传给print函数。在这里我们想让print1和print都打印p1的数据而我们两个传参方式都做到了达到了同样的效果在这里我们看到p1如下图在这里p1传参给p也就是实参传参给形参在之前函数的时候小编就说了当实参传给形参时形参就是实参的一份临时拷贝所以我们在打印p的时候就是在打印p1的数据但是结构体传参把对象进行传参是不是先拷贝在给他如果结构体内成员多这时候浪费的时间就多在者进行对象传参如果结构体成员多那么我们需要开辟的空间也就越多造成了空间浪费。 而在这里我们把p1的地址传过去而指针大小无非就是四个字节或者八个字节相对于把对象传参不用花费太多时间占用太大内存而我们形参接受指针地址后面也可以直接通过地址找到p1中的对象。 结论 函数传参的时候参数需要压栈如果传递一个结构体对象的时候结构体过大参数压栈的系统开销比较大所以会导致性能的下降。**因此在结构体传参的时候我们建议用指针传参的方式进行传参。**
http://www.pierceye.com/news/906457/

相关文章:

  • 河南双师培训网站html 路径 网站根路径
  • 专业定制网站企业如何注册公司营业执照
  • 福泉市自己的网站某个产品营销推广方案
  • 金坛市建设局网站微信网站有什么作用
  • 设计建网站今天的最新消息新闻
  • 电商行业建设网站ui网页设计培训学校
  • fineui 如何做网站私密浏览器免费版片视频动漫
  • 产地证是在哪个网站上做一起做网店下载安装
  • 舞钢市城乡建设局网站阿里巴巴网站谁做的
  • 巴彦淖尔市网站制作网站不收录怎么解决
  • 站群源码长春建设网站公司哪家好
  • 石家庄网站建设雨点牛wordpress qq登录免费
  • 有网站如何做淘宝客荆门市城乡建设管理局网站
  • 综合性门户网站列举如何拥有自己的微信小程序
  • 我图网类网站建设做外贸哪个网站最好
  • 做网站后台运营这个工作怎么样成都网络推广哪家好
  • angularjs做的网站有哪些wordpress 文章
  • 全国网站建设公司排名wordpress功能强大的主题
  • 做网站用c 还是php番禺制作网站平台
  • 营销网站运营的基本环节郑州大学现代远程教育 《网页设计与网站建设》个人主页
  • 网站建设合同是谁开的wordpress装主题需要ftp
  • 新乡门户网站建设方案开启wordpress upwn
  • 烟台企业自助建站系统浙江网站seo
  • 北京婚纱摄影网站珠海网站建设怎样
  • 用什么软件来做网站域名网安备案
  • 能打开各种网站的浏览器推荐制作小网站
  • 山东公司网站开发好看的个人博客主页
  • 长沙优化网站获客软件最新网页游戏排行榜2021
  • 学校网站 建设网络系统管理与维护电大考试题
  • 中文域名转码网站琼筑网站是哪家做的