2018年计算机二级C语言考点:结构体和共用体
【考点1】结构体类型的说明
结构体是若干个类型数据的集合,
结构体类型说明格式:
struct 类型名 {类型1 成员名1;类型2
成员名2;……};,以上整个部分是一个数据类型,与整型的int是同样地位。可用typedef把结构体类型替换成一个只有几个字母的简短标识符。
【考点2】结构体变量的定义
结构体变量是用说明的结构体类型所定义的一个变量,与结构体类型不是一回事。一个结构体变量所占字节数为其所有成员所占字节数之和。如struct
stu{char name[10];int age;} a,b;则表明定义了两个结构体变量a,b,每个变量占14个字节。a,b与int
i,j;中的变量i,j是同样地位。typedef 考的很多(教材150页例6)。
【考点3】结构体成员的引用
引用成员可用以下3种方式:(1)结构体变量名.成员名;(2)指针变量名->成员名:(3)(*指针变量名).成员名。点(.)称为成员运算符,箭头(->)称为结构指向运算符。
【考点4】共用体
共用体的使用格式与结构体相似,共用体定义的关键字为union,共用体所占字节数是所有成员中字节数最大的那个。
union TT
{ int a;
char ch[2];} t1 ;
main()
{t1.a=0x1234;
printf("%x\n",t1.ch[0] );
printf("%x\n",t1.ch[1] );}
考点一: sizeof (struct TT) = 2;
考点二: TT t1 ; t1.a=0x1234;
那么 ch[0]=0x 34; ch[1]=0x12
结构体和共用体以及链表要掌握最简单的。typedef
考的很多,而且一定要知道如何引用结构体中的各个变量,链表中如何填加和删除节点,以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。
【考点5】链表
链表是由一个个结点构成的,一个结点就是一个结构体变量。每个结点可以分为数据域与指针域两个部分,数据域用来存放要存储的数据,指针域用来指向下一个结点。链表是考试中的难点,在C语言和公共基