C语言高级编程及实例剖析

C语言高级编程及实例剖析

ID:42407382

大小:13.16 KB

页数:4页

时间:2019-09-14

C语言高级编程及实例剖析_第1页
C语言高级编程及实例剖析_第2页
C语言高级编程及实例剖析_第3页
C语言高级编程及实例剖析_第4页
资源描述:

《C语言高级编程及实例剖析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言高级编程及实例分析第一章:内存管理c语言对程序精心编译时,将函数中命令、语句编译成相应序列的机器指令代码,放在代码段;将已初始化的数据,如已赋值的全局变量、静态局部变量等,放在数据段;将未初始化的数据放在BBS段内;将临时数据,如函数调用时传递的参数、局部变量、返回调用时的地址等放在栈段内;而对一些动态变化的数据,如在程序执行中建立的一些数据结构,如链表,动态数组等,则放在堆结构中。内存管理系统是操作系统的重要部分。C语言中使用malloc()函数和free()函数来分配和释放内存。再次释放已经释放的内存和释放未被分配的内存都会

2、造成系统的崩溃。1.1.1PC存储器结构PC机存储器结构分为主存储器、外存储器和高速缓存几个部分。1.1.4内存编译模式编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式以后,语言编译程序将按事先选择好的内存模式编译组织程序。C语言提供了6种编译模式,分别是:微模式,小模式,紧凑模式,中模式,大模式和巨模式。1.1.5堆概念和结构堆是一种动态的存储结构(存储链表,动态数组等),实际上就是数据段的自由存储区。1.1.6堆管理函数1.malloc()函数用来分配内存。函数原型为vo

3、id*malloc(unsignedsize)如:int*p;P=(int*)malloc(sizeof(int));如果要分配100个int型的空间时,表示为:int*p=(int*)malloc(sizeof(int));2.free()函数用来释放内存。函数原型为void*free(指针变量)如:int*p=(int*)malloc(4);*p=100;free(p);3.realloc()函数用来重调空间的大小,函数声明为:void*realloc(void*block,intsize);block是指向要扩张或缩小的内存空间

4、的指针。Size指定新的大小。4.calloc()函数用来分配一个能容纳n个元素,每个元素长度为size的内存空间。函数声明为void*calloc(size_tnelem,size_telsize)。该函数将分配一个容量为nelem*size大小的空间,并用0初始化该内存区域,即每个地址装入0.该函数将返回一个指向分配空间的指针。如果没有空间可用,则返回NULL指针。若在大数据模式下建立远堆,则可用farmalloc函数。1.2.2函数剖析1函数init_Heap()实现了初始化内存分配程序的功能2函数My_Free()完成函数释放

5、内存的功能3函数Allocate()实现了分配按指定大小分配内存块的功能第三章:文件高级操作字符型(文本型)文件和二进制文件{有什么区别?}标准库函数①文件打开(fopen)函数原型FILE*fopen(char*filename,char*mode)②文件关闭(fclose)函数原型int*fclose(FILE*fp)字节(字符)读写函数fgetc和fputc字符串读写函数fgets和fputs数据块读写函数fread和fwrite格式会读写函数fscanf和fprint①字符串读函数fgetsChar*fgets(char*s,

6、intn,FILE*filepointer);②字符串写函数fputsIntfputs(char*s,FILE*filepointer)③数据块读函数freadUnsignedfread(void*ptr,unsignedsize,unsignedn,FILE*filepointer)④数据块写函数fwriteUnsignedfwrite(void*ptr,unsignedsize,unsignedn,FILEfilepointer)①格式化读fscanfIntscanf(FILE*filepointer,constchar*form

7、at,[&a,&b,...])②格式化写fprintfIntfprintf(FILE*filepointer,constchar*format,[表达式列表,...]);文件定位操作①rewind函数函数原型:voidrewind(FILE*filepointer);功能:将filepointer所指向的文件的位置指针重新置回到文件的开头②fseek函数函数原型:intfseek(FILE*fp,longoffset,intwhence)功能:whence基准点;offset从基准点开始移动的字节数;③ftell函数函数原型:long

8、ftell(FILE*filepointer);功能:返回文件的当前位置;④feof函数原型:intfeof(FILE*fp);功能:判断fp所代表的文件是否结束Stdin标准输入(键盘)Stdout标准输出(显示器)S

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

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

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