前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言什么是结构体?初步学习C语言结构体三部曲

C语言什么是结构体?初步学习C语言结构体三部曲

原创
作者头像
诸葛青云
修改2018-09-12 10:52:56
1K0
修改2018-09-12 10:52:56
举报

阅读须知:

结构体部分内容,涉及结构体定义,结构体变量,结构体指针,结构体数组,更多内容敬请关注。

结构体是由若干个"成员"组成的,每一个成员要有成员名称和类型,成员可以是基本数据类型或者一个结构体。一旦定义结构体类型,使用它的方式和其他类型一样,可以声明这个结构体的对象、指针和数组。下面我们先来定义一个描述歌曲的结构体:

上面的song就是一个机构体,它包含有4个成员,成员分别有不同的数据类型,通过上面的例子我们能总结出定义结构的一般格式:struct 结构体名称 {成员列表};

struct是一个C语言的关键字,是定义结构体所必须的。[结构体名称]就是上面的song,有时候可以省略。成员列表必须用花括号{}括起来,最后是分号。

想要使用结构体,就必须先声明结构体变量,如果你想说在上个练习中的song是变量的话,那你就大错特错了。song是我们定义的结构体名称,就想int一样,只不过song是我们定义的,而int是C语言定义好的。我们可以使用2种方式来声明结构体变量:

定义好结构体后再声明变量

在定义机构体时就声明变量

当我们使用这种方式声明结构体变量时,结构体名称song可以省略不写。 如果我们想使用结构体song1中的成员时:song1.title或者song1->title (->:指针只想运算符)

小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:870963251!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

当我们有很多个结构体变量时,我们可以使用结构体数组,比如我们有3首歌的时候:

或者

结构体指针当然我们也可以先定义结构体数组,然后再对它们进行赋值。

结构体指针顾名思义就是指向结构体的指针,具体的这个指针会指向该结构体的某个变量。声明一个结构体指针变量的形式:

struct 结构名 *结构指针变量名

比如我们声明一个指向song结构体的指针变量:

struct song *ps;struct song song1, song2;

给指针ps赋值则是:

ps = &song1;

当然我们也可以在声明指针时就给ps赋值。我们可以通过指针来使用song1中的成员:(*ps).title或者ps->title

注意

指针ps只能指向结构体变量song1或song2,但是不能指向结构体名song

使用"."和"->"时的不同方式。

结构体指针不但能指向结构体变量,还可以指向结构体数组,比如上个练习中我们使用的songs数组:ps = songs,这代表指针ps指向songs数组的首地址

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档