c语言结构体struct用法

c语言结构体struct用法

ID:21956725

大小:52.50 KB

页数:5页

时间:2018-10-25

c语言结构体struct用法_第1页
c语言结构体struct用法_第2页
c语言结构体struct用法_第3页
c语言结构体struct用法_第4页
c语言结构体struct用法_第5页
资源描述:

《c语言结构体struct用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言,结构体(stmct)用法在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成缋可为整型或实型。显然不能用一个塾鱼来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言屮给出了另一•种构造数据类型一一“结构”。它相当于其它高级语言屮的记录。“结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。如同

2、在说明和调用函数之前要先定义函数一样1.结构说明和结构变量定义在使用结构变量时要先对其定义。1〉struct结构名{类型成员名;类型成员名;};2〉struct结构名{类型成员名;类型成员名;}结构变量名;3>.struct结构名{类型成员名;类型成员名;};Struct结构名结构变量名;4>struct结构名{类型成员名;类型成员名;struct结构名{类型成员名;类型成员名;•••}结构变量名;}结构变:W:名;//可以是1〉类型的,也可以是2>类型的嵌套5>struct类型成员名;类型成员名;•••}结构变量名;//这种无结构名的,常常出现在函数内部,此时,结

3、构变量名必须与结构一起方可。结构变量名表既可以是变量,也可以是数组。可以直接对变量名表赋值,赋值时,一个变量用一个大括号表示,变量成员括在大括号之内,各变量名间用逗号隔开。查看变量名下的成员内容,就相当于一个二维的变量,具体格式力:结构变量名+点+成员名,给单个成员名赋值也一样。用指针应用结构体变量屮的各成员。形式为:结构指针名->成员名相当于结构指针名).成员名//圆括号不能省也相当于结构变fi名.成员名例如:Structstudent*p=&stu;//stu为结构变量名或者:Structstudent*p;p=stu;类型为五种数据类型(整型、浮点型、字符型、

4、指针型和无值型)。下面举一个例子来说明怎样定义结构变量。structstring{charname[8】;intage;charsex[2];chardepart[20];floatwagel,wage2,wage3,wage4,wage5;}person;这个例子定义了一个结构名为string的结构变量person,如果省略变量名person,则变成对结构的说明。用己说明的结构名也可定义结构变量。这样定义时上例变成:structstring{charname[8];intage;charsex[2];chardepart[20];floatwagel,wage2,

5、wage3,wage4,wage5;};structstringperson;如果耑要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。当只有结构说明时,也可以在函数应用时再利用结构名定义变量。例如:structstringTianyr,Liuqi,如果省略结构名,则称之力无名结构,这种情况常常出现在函数内部,川这种结构时前面的例子变成:struct{charname[8];intage;charsex[2];chardepart[20];floatwagel,wage2,wage3,wage4,wage5;}Tianyr,L

6、iuqi;2.结构变量的使用结构是一个新的数据类型,因此结构变:W:也可以象其它类型的变:W:—样赋值、运算,不同的是结构变量以成员作为基本变量。结构成员的表示方式为:结构变量.成员名如果将"结构变成员名”看成一个整体,则这个整体的数据类型与结构屮该成员的数据类型相同,这样就可象前面所讲的变量那样使用。3.结构数组和结构指针结构是一种新的数据类型,同样讨以有结构数组和结构指针。一、结构数组结构数组就是具有相同结构类型的变量集合。假如要定义一个班级40个同学的姓名、性别、年龄和住址,可以定义成一个结构数组。如下所示:struct{charname[8];charsex

7、[2];intage;charaddr[40];}student[40];//此处的数据是指个数也可定义为:(等效)structstring{charname[8];charsex[2];intage;charaddr[40];};structstringstudent[40];需要指出的是结构数组成员的访问是以数组元素为结构变量的,其形式为:结构数组元素.成员名例如:student[0].namestudent[30].age实际上结构数组相当于一个二维构造。第一维是结构数组元素,第二维是结构成员。注意:结构数组的成员也可以是数组变量。例如:structa{i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。