C语言链表及文件操作.doc

C语言链表及文件操作.doc

ID:50824723

大小:42.45 KB

页数:4页

时间:2020-03-15

C语言链表及文件操作.doc_第1页
C语言链表及文件操作.doc_第2页
C语言链表及文件操作.doc_第3页
C语言链表及文件操作.doc_第4页
资源描述:

《C语言链表及文件操作.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、编译预处理和动态存贮分配不带参数的宏定义定义形式#define宏名替换文本或#define宏名(在define宏名和宏替换文本之间有空格;可以用#undef命令终止宏定义的作用域;在进行宏定义是,可以引用已定义的宏名;同一个宏名不能重复定义。)带参数的宏定义定义形式#define宏名(参数表)字符串宏定义不只进行简单的字符串替换,还可进行参数的替换执行过程:(如果程序中有带实参的宏,则按#define命令行中指定的字符串从左到右进行置换;如果字符串中包含形参,则将程序语句中相应的实参代替形参;如果宏定义中的字符串中的字符

2、不是参数字符,则保留。这样就形成了置换的字符串;)带参数的宏和函数的相同之处在引用函数时是在函数右面的括号写实参;要求实参与形参数目相等。带参数的宏和函数的不同之处函数调用是,要求实参、形参类型相匹配,但宏替换中,对参数没有类型的要求;函数调用时,先求出实参的表达式的值,然后带入形参,而带参数的宏只是进行简单的字符串替换;函数调用是在程序进行时处理的,要分配临时的内存单元,还要占用一系列的处理时间。宏替换在编译预处理完成,因此,宏替换不占用运行时间,不被分配内存单元,不进行之的传递,也没有返回值的概念;使用宏的次数较多时

3、,宏展开后源程序变长,而函数调用不会。第十一章结构体和共用体11.1用typedef说明一种新类型名1、一般形式:typedef类型名标识符;其中,"类型名"一定是在此之前已有定义的类型标识符。“标识符”是一个用户定义标识符,用来标识新的类型名。2、typedef语句的作用:用“标识符”来代表已存在的“类型名”,并没有产生新的数据类型,因此,原有的类型名依然有效。3、声明一个新的类型名的具体步骤:a、先按定义变量的方法写出定义的主体b、将变量名换成新类型名c、在最左面加上关键字typedefd、然后可以用新类型名去定义其

4、他的变量11.2链表1、链表定义:是一种常见的重要的数据结构,它是动态地进行存储单元分配的一种结构。a、链表中的各元素在内存中不一定是连续存放的。要找链表中某一元素,必须先找到上个元素,根据该元素提供的下一元素的地址才能找到下一个元素。所以,如果没有头指针(head),则整个链表都无法访问。b、这种链表数据结构,必须利用指针变量才能实现。即一个节点中应包含一个指针变量,用它存放下一节点的地址。c、链表最后一个节点的指针域不要存放地址时,就置成‘/o’值,标志着链表结束,链表的每个结点只有一个指针域,每个指针域存放下一个节

5、点的地址。d、每一个链表都用一个“头指针”变量来指向链表的开始,称之为head指针。在head指针中存放了链表第一个节点的地址。2、建立单向链表单线链表中,每个结点应该由两个成员组成:整型的成员;指向自身结构的指针类型成员。结点的类型结构定义如下:structslist{intdata;structslist*next;};typedefstructslistSLIST;建立单向链表的主要步骤如下:a、读取数据;b、生成新结点;c、将数据存放结点的成员变量中。d、将新结点插入到链表中。e、重复上述操作顺序访问链表各个结点

6、的数据域;在单向链表中插入结点的步骤如下:a、首先要确定插入的位置;b、当插入结点在指针的结点之前称为“前插”;c、当插入结点在指针的结点之后称为“后插”;d、当进行“前插”操作时,需要3个工作指针(假设为s1,s2和s3).用s1来指向新开辟的结点;用s2指向插入的位置;s3指向s2的前趋结点。删除单向链表中的结点的步骤如下:a、首先要找的到待删结点的前趋结点。a、然后将此前趋结点的指针域去指向待删结点的后续结点b、最后释放被删节的所占用的存储空间即可。第十二章文件1、fopen()函数调用形式:fopen(文件名,文

7、件使用方式);A、函数返回一个指向FILE类型的指针,赋给文件指针变量fp,从而把指针fp与文件联系起来,在此调用之后指针fp就指向了文件;B、无论哪种使用凡是,当打开文件时出现了错误,fopen函数都将返回NULL。2、常用文件打开方式及其含义:a、r:为读而打开文本文件。当指定这种方式时,对打开的文件只能进行读操作。若指定文件不存在,则会出错。另外一些情况,如企图去读一个不允许读的文件时也会出错。b、rb为读而打开一个二进制文件。其余功能与r相同。c、w:为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fo

8、pen调用中指定的文件名建立一个新的文件,如果指定的文件已存在,则将从文件的起始位置开始写,文件中原有的内容将全部消失。d、wb:为写而打开一个二进制文件。其余功能与w相同,但从指定位置开始写。e、a:为在文件后面添加数据而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen调用中指定的文件名建立一个新的文

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

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

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