C —语言结构体部分-知识点及试题结构体是一种重要的数据结构, 在实践中有广泛的应用
计算机二级考试大 纲对结构体部分的要求为:(1 结构体类型数据的定义方法和引用方法
(2 用指针和结构体构成链表,单向链表的建立、输出、删除与插入
下面就这些基 本知识点和有关试题进行总结和解析,希望对考试有所帮助
一、基础知识(1 结构体的定义struct 结构体名 例如: struct student{ {成员列表 char name[20];}变量表; int age;char sex;}stu1,stu2 ;注意:结构体定义完后, 别忘了分号
也可这样定义:struct student stu1, stu2 ;结构体数组的定义: struct student x[10];(2 结构体成员的访问两种方式 :直接访问
如:stu1
age用指针访问
先定义指向结构体的指针:struct student *p;然后可以通过:(*p
成员变量 或 p-〉成员变量 来访问
(3 关于单项链表先了解两个函数:内存分配函数 malloc如:int *p; p=(int * malloc (sizeof (int;分配一块整型大小 的内存空间
注意:malloc 无返回值,分配内存时要强制类型转换
内存释放函数 freefree ( 要释放内存的地址 ;有关链表具体的操作请参看谭浩强的 《 C 程序设计 (第二版 》 11
7 节(p273重点了解基本思想和相关算法, 其实考试时的程序根本没有书上的难
在这 里我要说, 重点理解有关链表插入及删除时指针移动的先后顺序问题
注意指针 的保存和归位
(既头指针的保存和链表遍历时指针的归位
这都是考试重点, 信任我没错的
二、典型试题及解析(1 以下程序运行的结果是 _______#include”stdio
h”main({ stru