struct在c语言中是什么意思?

struct在c语言中是什么意思?,第1张

在C语言中,可以使用结构体(Struct)来存放一组早早不同类型的数据。

结构体的定义形式为:

struct结构体名{

结构体所包含的变量或数组

结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。

例子:

struct stu{

char *name//姓名

int num//学号

int age//年龄

char group//所在学习小组

float score//成绩

stu为结构体名哗乱,它包含了5个成员,分别是name、num、age、group、score。结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。

扩展资料

结构体变量——

既然结构体是一种数据类型,那么就可以用它来定义变量。

例如:

struct stu stu1, stu2

定义了两个变量 stu1 和 stu2,它陆芦雀们都是 stu 类型,都由 5 个成员组成。注意关键字struct不能少。

stu 就像一个“模板”,定义出来的变量都具有相同的性质。也可以将结构体比作“图纸”,将结构体变量比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的。

结构(struct)

结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。

结构中可以使用不同的数据类型。

结构说明和结构变量定义

在Turbo C中, 结构也是一种数据类型, 可做晌逗以使用结构变量, 因此,  象其它 类型的变量一样, 在使用结构变量时要先对其定义。定义结构变量的一般格式为纯卖:

struct 结构名 

{

类型  变量名

类型  变量名 

...

} 结构变量

结构名是结构的标识符不是变量名。  类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 无值型)。

构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中 元素是以下标来访问的, 而结构是按变量名字来访问成员的。 下面举一个例子来说明怎样定义结构变量。

struct string

{

char name[8]

int age 

char sex[2]

char depart[20]

float wage1, wage2, wage3, wage4, wage5

} person

这个例子定义了一个结构名为string的结构变量person,   如果省略变量名 person, 则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义 时上例变成: 

struct string

{

char name[8]

int age

char sex[2]

char depart[20]

float wage1, wage2, wage3, wage4, wage5

}struct string person 

如果需要定义多个具有相同形式的结构变量时用这种方法比较方便, 它先作 结构说明, 再用结构名来定义变量。 

如果省略结构名, 则称之为无名结构, 这种情况常常出现在函数内部, 用这 种结构时前面的例子变成:

struct

{

char name[8] 

int age

char sex[2]

char depart[20]

float wage1, wage2, wage3, wage4, wage5 

} Tianyr, Liuqi

结构作为一种数据类型,  因此定义的结构变量或结构指针变量同样有局 部变量和全程变量, 视定义的位置而定。

结构变量名不是指向该结构的地址, 这与数组名的含义不同,  因此若需要求结构中第一个成员的首地址应该是&[结构变量名]。

扩展资料:

结构体变量可进行哪些运算

结构体变量不能相加、不能相减,也不能相互乘除,但结构体变量可以相互赋值。也就是说,可以将一个结构体变量赋给另一个结构体变量。但前提是这两个结构体变量的结构体类型必须相同。

结构体变量的引用方式决定了:

“结构体变量名”可以与“结构体成员名”同名。

“结构体变量名”可以与“结构体名”同名。

“两个结构体类型定义的结构体变量中的成员可以同名”。谨升

就比如定义了一个结构体类型用于存放学生的信息,里面有成员“char name[20];”,那么如果又定义了一个结构体类型用于存放老师的信息,那么里面也可以有成员“char name[20];”

因为结构体成员在引用时,必须要使用“结构体变量名.成员名”的方式来引用,通过引用就可以区分它们,所以不会产生冲突,因此可以同名!

只要不冲突,都可以重名!但是两个结构体变量名就不可以重名了,因为无法区分它们,就会产生冲突。当然这里说的是在同一个作用域内,如果在一个函数中定义一个局部变量a,那么在另一个函数中当然也可以定义一个局部变量a。它们互不影响。

struct是定义一个结构体的关键字。例如\x0d\x0astruct student\x0d\x0a{\x0d\x0achar name[20]//姓名\x0d\x0a\x0d\x0aint num//学号\x0d\x0a\x0d\x0a}\x0d\x0avoid main()\x0d\x0a{\x0d\x0astruct student zhangsan/启改/定义一个zhangsan结构体变量。\x0d\x0a\x0d\x0azhangsan.num = 100//给学号赋值\x0d\x0a\x0d\x0astrcpy(zhangsan.name,"张三")//注意,千万腊团不能直悄局判接:zhangsan.name="张三"\x0d\x0aprintf("%s\n%d\n",zhangsan.name,zhangsan.num)\x0d\x0a\x0d\x0a}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12262847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存