C语言结构体变量与链表知识总结.doc

C语言结构体变量与链表知识总结.doc

ID:51300465

大小:681.50 KB

页数:16页

时间:2020-03-10

C语言结构体变量与链表知识总结.doc_第1页
C语言结构体变量与链表知识总结.doc_第2页
C语言结构体变量与链表知识总结.doc_第3页
C语言结构体变量与链表知识总结.doc_第4页
C语言结构体变量与链表知识总结.doc_第5页
资源描述:

《C语言结构体变量与链表知识总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、结构体与链表11.1结构体类型的定义结构体是由C语言中的基本数据类型构成的、并用一个标识符来命名的各种变量的组合,其中可以使用不同的数据类型。1.结构体类型的定义Struct结构体名{类型标识符1成员名1;类型标识符2成员名2;……类型标识符n成员名n;};Struct结构体名——结构体类型名2.关于结构体类型的说明:(1)“struct结构体名”是一个类型名,它和int、float等作用一样可以用来定义变量。(2)结构体名是结构体的标识符不是变量名,也不是类型名。(3)构成结构体的每一个类型变量称为结构体成员,它像数组

2、的元素一样,单数组中元素以下标来访问,而结构体是按结构体变量名来访问成员的。(4)结构体中的各成员既可以属于不同的类型,也可以属于相同的类型。(5)成员也可以是一个结构体类型,如:Structdate{Intmonth;Intday;Intyear;};Structperson{Floatnum;Charname[20];Charsex;Intage;Structdatebirthday;Charaddress[10];};11.2结构体类型变量11.2.1结构体类型变量的定义1.先定义结构体类型,再定义结构体变量形式:

3、Struct结构体名{类型标识符1成员名1;类型标识符2成员名2;……类型标识符n成员名n;};Struct结构体名变量名表;例如:Structstudent{charname[20];Charsex;Intage;Floatscore;};Structstudentstu1,stu2;1.在定义结构体类型的同时定义变量形式:Struct结构体名{类型标识符1成员名1;类型标识符2成员名2;……类型标识符n成员名n;}变量名表;例如:Structstudent{Charname[20];Charsex;Intage;Fl

4、oatscore;}stu1,stu2;2.用匿名形式直接定义结构体类型变量形式:Struct{类型标识符1成员名1;类型标识符2成员名2;……类型标识符n成员名n;}变量名表;例如:Struct{Charnaem[20];Charsex;Intage;Floatscore;}stu1,stu2;11.2.2结构体变量的使用结构体是一种新的数据类型,因此结构体变量也可以像其它类型的变量一样赋值、运算,不同的是结构体变量以成员作为基本变量。结构体成员的表示方式为:结构体变量名.成员名其中的圆点运算符称为成员运算符,它的运算

5、级别最高。如果将“结构体变量名.成员名”看成一个整体,则这个整体的数据类型与结构体中该成员的数据类型相同,这样就可以像前面所讲的变量那样使用,但应遵循以下规则:(1)不能将一个结构体变量作为一个整体进行输入和输出,而只能对结构体变量中的各个成员分别进行输入和输出。Structdate{Intmonth;Intday;Itnyear;}day;Scanf(“%d%d%d”,day);(错误)Scanf(“%d%d%d”,&day.year,&day.month,&day.day);(正确)Printf(“%d%d%d”,d

6、ay);(错误)Printf(“%d%d%d”,day.year,day.month,day.day);(正确)(2)如果成员本身又属于一个结构体类型,则要用若干个成员运算符,一级一级地找到最底的一级的成员,只能对最底级的成员进行赋值或存取运算。Structdate{Intmonth;Intday;Intyear;};Structstudent{Longnum;Charnaem[20];Charsex;Intage;Structdatebirthday;Chardepart[10];}stu1;如:stu1.birthd

7、ay.year=2004;Stu1.birthday.month=12;(1)对结构体变量的成员可以像同类型普通变量一样进行各种运算。11.2.3结构体变量的初始化与存储1.结构体变量的初始化:在定义结构体变量的同时给它赋以初值。Structstudent{Charname[20];Charsex;Intage;Floatscore;}stu1,stu2={“wangwu”,’m’,20,88.5};2.结构体变量所占内存的字节数·struct类型用内存字节数=?·是所有成员变量的内存总和吗?用运算符sizeof获得结构

8、体大小Sizeof(变量或表达式)Sizeof(类型)Typedefstructsample{Charm1;Intm2;Charm3;}SAMPLE;Printf(“%d”,sizeof(structsample));Printf(“%d”,sizeof(SAMPLE));并非所有成员变量的内存总和事实上,所

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

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

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