9.1 定义和使用结构体变量

举报
C语言入门到精通 发表于 2021/02/09 22:50:22 2021/02/09
【摘要】 01自己建立结构体类型1、C语言中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在其他一些高级语言中称“记录”。2、一般形式struct 结构体名 {成员表列};3、结构体类型的名字是由一个关键字struct和结构体名组成而成的。结构体名是用户指定的,又称“结构体标记”,以区别于其他结构体类型。4、花括号内是该结构体所包括的子项,称为结构体的成员。5、对各...

01自己建立结构体类型


1、C语言中允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在其他一些高级语言中称“记录”。

2、一般形式

struct 结构体名

{成员表列};

3、结构体类型的名字是由一个关键字struct和结构体名组成而成的。结构体名是用户指定的,又称“结构体标记”,以区别于其他结构体类型。

4、花括号内是该结构体所包括的子项,称为结构体的成员。

5、对各个成员都应该进行类型声明,即:类型名 成员名。成员表列也称为域表,每一个成员是结构体中的一个域。

6、成员命名规则与变量名相同。


02定义结构体类型变量


1、先声明结构体类型,再定义该类型的变量

(1)在定义了结构体变量后,系统会为之分配内存单元。根据结构体类型中包含的成员情况,在Visual C++中占63个字节。

(2)这种声明方式是声明类型和定义变量分离,在声明类型后可以随时定义变量,比较灵活。

2、在声明类型的同时定义变量

(1)一般形式

struct 结构体名

{

成员表列

}变量名表列;

(2)声明类型和定义变量放在一起进行,能直接看到结构体的结构,比较直观。

(3)在写小程序时用此方式比较方便,但写大程序时,往往要求对类型的声明和对变量的定义分别放在不同的地方 ,以使程序结构清晰,便于维护。

3、不指定类型名而直接定义结构体类型变量

(1)一般形式

struct

{

成员表列

}变量名表列;

(2)指定了一个无名的结构体类型,它没有名字。显然不能再以此结构体类型去定义其他变量。

4、结构体类型与结构体变量是不同的概念,不要混同。只能对变量赋值、存取或运算,而不能对一个类型赋值、存取或运算。

5、结构体类型中的成员名可以与程序中的变量名相同,但二者不代表同一对象。

6、对结构体变量中的成员,可以单独使用,它的作用与地位相当于普通变量。


03结构体变量的初始化和引用


1、在定义结构体变量时可以对它的成员初始化。初始化列表是用花括号括起来的的一些常量,这些常量依次赋给结构体变量中的各成员。

2、可以引用结构体变量中成员的值,引用方式为:结构体变量名.成员名.

3、“.”是成员运算符,它在所有的运算符中优先级最高。

4、如果成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最低的一级的成员。

5、对结构体变量的成员可以像普通变量一样进行各种运算。

6、同类的结构体变量可以互相赋值。

7、可以引用结构体变量的成员的地址,也可以引用结构体变量的地址。

8、结构体变量的地址主要用作函数参数

,传递结构体变量的地址。

C语言 |求3*4矩阵中最大的元素值及行列 mp.weixin.qq.com

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/333942333

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。