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

网站服务商查询色盲测试图第五版

网站服务商查询,色盲测试图第五版,wordpress首页白屏,免费详情页模板网站目录 一、结构体概念 二、结构体名化简 三、结构体的使用 四、结构体的省略问题 一、结构体概念 在前面的学习中,我们可以很简单的把某一个人的姓名,年龄,身高体重,成绩等信息存储到计算机中,但是如果我们需要存储…

目录

一、结构体概念

二、结构体名化简

三、结构体的使用

四、结构体的省略问题


一、结构体概念

在前面的学习中,我们可以很简单的把某一个人的姓名,年龄,身高体重,成绩等信息存储到计算机中,但是如果我们需要存储多个人的各种信息,我们就需要定义很多个变量并赋值,十分的麻烦,这时就需要我们的结构体

结构体就是一种自定义的数据类型,里面可以包含不同的数据类型,对于结构体,我们会用struct关键字来定义一个结构体

我们下面来看看一个简单的结构体如何创建:

比如我们要存储很多个学生的一些基本信息,我们可以这样创建:

struct student {char name[20];float height;int age;int score;
};

这就是一个简单的结构体

注:

①结构体里面的东西(就是用花括号括起来的)叫做结构体的成员变量,这些成员可以是不同的数据类型,比如整型,浮点型,字符型等等

②结构体就是一种你自己定义的一种新的数据类型,比如有的数据类型叫做int,float等,我们上面代码创建的就叫struct student

③结构体和常见的数据类型一样,我们可以通过int a ;来创建一个整型变量a,那么我们也可以通过struct student a,来创建一个结构体变量(前提是先创建好结构体!!)

④当然我们也可以在创建结构体的同时,就把变量创建好,像这样:

struct student {char name[20];float height;int age;int score;
}a;    //注意这个结构体变量a的位置!

⑤使用该数据类型定义一个结构体变量,那么该结构体变量包含结构体里面的各个成员变量

⑥千万不要忘记结构体最后还有一个分号!!!!!!!!!!!!!!!!!!!!!!!

二、结构体名化简

上面提到,我们的struct + 一个东西,才是我们的类型名(比如上面的struct student),这个写起来十分麻烦,所以我们来介绍一个可以化简这个名字的好东西:

typedef化简大法

typedef可以为数据类型起一个新的名字

基本结构:

typedef 原类型名 新类型名;

我们来看一个例子:

typedef struct student {char name[20];float height;int age;int score;
}stu , *stup;    //注意*的位置!!!!!!!1

在上面这个代码中,我们就使用了typedef来把之前的struct student变成了stu,而这个结构体指针就是*stup

注:

①两者之间用逗号分隔

②结构体指针:对于一个普通的数据类型比如int,我们有整形指针即int*,那么我们这个结构体同样有其结构体指针,即struct student*

③上述代码最后一行的*stup中的*,作用就是指明了stup这个就是一个指针,并且必须在stup前面,不能写成stup*

④前后对照

使用typedef前使用typedef后
结构体类型struct studentstu
结构体指针struct student*stup
定义结构体变量astruct student astu a 
定义结构体指针struct student* bstup b

⑤注意④中最后一行,stup已经是一个指针了,如果我们写stup*是一个二级指针,是错误的!

三、结构体的使用

结构体的创建和结构体的使用可以看成两部分,一个是我们用struct关键字来定义的部分,另一个就是在主函数int main()中使用创建的结构体

我们来看两个小示例:

①结构体变量访问结构体成员用"."

#include <stdio.h>typedef struct student {char name[20];float height;int age;int score;
}stu , *stup;int main() {stu a;printf("请输入你的姓名:");scanf_s("%s", a.name, sizeof(a.name));	//不用&,用scanf_s需要sizeof(a.name)a.height = 182.5;a.age = 20;a.score = 150;		//结构体变量访问结构体成员用"."printf("%s , %f , %d , %d" , a.name , a.height , a.age , a.score);return 0;
}

输出:

②结构体指针访问结构体成员用"->"

#include <stdio.h>
#include <stdlib.h>typedef struct student {char name[20];float height;int age;int score;
}stu , *stup;int main() {stup b;b = (stup)malloc(sizeof(stu));printf("请输入你的姓名:");scanf_s("%s", b->name, sizeof(b->name));	//不用&b->height = 182.5;b->age = 20;b->score = 150;		//结构体指针访问结构体成员用"->"printf("%s , %f , %d , %d" , b->name , b->height , b->age , b->score);free(b)return 0;
}

输出:

四、结构体的省略问题

当一个结构体内部包含本结构体的指针成员时,我们的原结构体名字不能省略,而且结构体指针成员也需要使用原结构体名

为什么:程序是自上而下运行的,如果结构体包含一个本结构体指针成员,当运行到指针的那一行代码时,这个结构体还没有运行完(也就是还没被定义完),计算机此时还不认识这个东西,同理,此时如果我们使用typedef,此时也没有完成typedef的操作,新名字还没命名完,计算机也不认识

以上就是C语言结构体的全部内容:)

http://www.dtcms.com/wzjs/287704.html

相关文章:

  • 网站服务器上的跳转选择怎么做四川疫情最新消息
  • 做网站靠流量挣钱网络营销首先要
  • 厦门网站seo外包网站优化排名易下拉霸屏
  • 商丘企业网站建设推荐百度竞价排名危机事件
  • 团购网站经营模式网站seo推广计划
  • 中国建设银行网站开通短信服务百度收录提交申请
  • abc网站建设怎么样网络推广员具体做什么的
  • 改版一个网站多少钱某企业网站的分析优化与推广
  • 网站管理系统安装搜狐三季度营收多少
  • 惠州住房和城乡建设厅网站seo优化服务是什么
  • 工业园做网站的公司互联网营销方案
  • 贵阳网站建设黔搜网页制作免费模板
  • 网站建设昆明seo建站公司推荐
  • 任县建设局网站网络优化公司有哪些
  • 小辣椒昆明网站开发向日葵seo
  • 南阳做网站公司电话网站搜索引擎优化的基本内容
  • 北京做网站定制价格seo推广关键词公司
  • 手机端网站首页怎么做网络培训
  • 微网站开发平台免费建站哪个网站最好
  • 网站模板生成河北网站seo策划
  • 什么网站可以做卡首屏淘口令权威发布
  • 佛山市个性网站建设设计公司今日头条最新版
  • 青海网站建设公司淘宝站外引流推广方法
  • 无锡工业设计公司百度怎么优化排名
  • 做影视网站需要的软件奶盘seo伪原创工具
  • 可以做卡通动画的网站市场推广方案
  • 鞍山网站制作一般多少钱品牌广告和效果广告
  • 网站需要去工信部做备案易思企业网站管理系统
  • 西安网络建设公司重庆百度seo排名
  • 网站建设给客户看的ppt热搜排行榜今日排名