C语言高级编程及实例剖析_c语言经典例题及答案

2020-02-29 其他范文 下载本文

C语言高级编程及实例剖析由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言经典例题及答案”。

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

第一章:内存管理

c语言对程序精心编译时,将函数中命令、语句编译成相应序列的机器指令代码,放在代码段;将已初始化的数据,如已赋值的全局变量、静态局部变量等,放在数据段;将未初始化的数据放在BBS段内;将临时数据,如函数调用时传递的参数、局部变量、返回调用时的地址等放在栈段内;而对一些动态变化的数据,如在程序执行中建立的一些数据结构,如链表,动态数组等,则放在堆结构中。

内存管理系统是操作系统的重要部分。C语言中使用malloc()函数和free()函数来分配和释放内存。再次释放已经释放的内存和释放未被分配的内存都会造成系统的崩溃。

1.1.1 PC存储器结构

PC机存储器结构分为主存储器、外存储器和高速缓存几个部分。

1.1.4 内存编译模式

编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式以后,语言编译程序将按事先选择好的内存模式编译组织程序。C语言提供了6种编译模式,分别是:微模式,小模式,紧凑模式,中模式,大模式和巨模式。

1.1.5 堆概念和结构

堆是一种动态的存储结构(存储链表,动态数组等),实际上就是数据段的自由存储区。

1.1.6 堆管理函数

1.malloc()函数

用来分配内存。函数原型为void *malloc(unsigned size)

如: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,int size);

block是指向要扩张或缩小的内存空间的指针。Size指定新的大小。

4.calloc()函数

用来分配一个能容纳n个元素,每个元素长度为size的内存空间。函数声明为void *calloc(size_t nelem,size_t elsize)。该函数将分配一个容量为nelem *size大小的空间,并用0初始化该内存区域,即每个地址装入0.该函数将返回一个指向分配空间的指针。如果没有空间可用,则返回NULL指针。若在大数据模式下建立远堆,则可用farmalloc函数。

1.2.2 函数剖析函数init_Heap()

实现了初始化内存分配程序的功能

2函数My_Free()

完成函数释放内存的功能函数Allocate()

实现了分配按指定大小分配内存块的功能

第三章:文件高级操作

字符型(文本型)文件和二进制文件{有什么区别?}

标准库函数

①文件打开(fopen)

函数原型FILE *fopen(char *filename,char *mode)

②文件关闭(fclose)

函数原型int *fclose(FILE *fp)

字节(字符)读写函数fgetc和fputc

字符串读写函数fgets和fputs

数据块读写函数 fread和fwrite

格式会读写函数 fscanf和fprint

①字符串读函数fgets

Char *fgets(char *s,int n,FILE *filepointer);

②字符串写函数fputs

Int fputs(char *s,FILE *filepointer)

③数据块读函数fread

Unsigned fread(void *ptr,unsigned size,unsigned n,FILE *filepointer)④数据块写函数fwrite

Unsigned fwrite(void *ptr,unsigned size,unsigned n,FILE filepointer)

①格式化读fscanf

Int scanf(FILE *filepointer,const char *format,[&a,&b,...])

②格式化写fprintf

Int fprintf(FILE *filepointer,const char *format,[表达式列表,...]);

文件定位操作

①rewind函数

函数原型:void rewind(FILE *filepointer);

功能:将filepointer所指向的文件的位置指针重新置回到文件的开头 ②fseek函数

函数原型:int fseek(FILE *fp,long offset,int whence)

功能:whence 基准点;offset从基准点开始移动的字节数; ③ftell函数

函数原型:long ftell(FILE *filepointer);

功能:返回文件的当前位置;

④feof函数

原型:int feof(FILE *fp);

功能:判断fp所代表的文件是否结束

Stdin 标准输入(键盘)

Stdout 标准输出(显示器)

Stdaux 标准辅助输入输出(异步串行口)

Stdprn 标准打印(打印机)

Stderr标准错误输出(显示器)

简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。而 a = ++i,相当于 i=i+1;a = i;

而 a = i++,相当于 a = i;i=i+1;

C语言高级编程心得体会

高级语言程序设计心得体会通过这五天的高级语言程序设计学习,我学到了很多东西,同时也更深一层次的体会到C语言知识的奥妙和无穷,激起了我对C语言知识学习的兴趣和激情。学好C......

shell编程实例集锦

shell编程实例集锦【ZT】shell编程实例集锦 如何远程杀死僵进程?所谓“僵进程”是指处于睡眠中,而且没用的进程。在进行并行计算时经常会有僵进程产生。由于用 top 看不到“......

LinuxShell脚本编程实例

#! /bin/sh echo "Current command is $0" echo "The first parameter is $1" echo "The second parameter is $2" echo "The third parameter is $3" echo "Total......

三菱PLC编程实例

三菱PLC编程实例可编程控制器控制实例 1 十字路口红绿灯控制【动作要求】一般十字路口红绿灯控制,依下所列之条件动作。I/O 组件:红灯 黄灯 绿灯 绿灯闪烁 东西向 Y0 Y1 Y2......

MFC编程实例_目录

目录译者序前言第一部分基础知识第1章窗口 21.1窗口和API环境 21.1.1三种类型窗口21.1.2客户区和非客户区 31.2窗口和MFC环境 41.3怎样应用MFC创建一个窗口 51.4怎样使用MFC......

《C语言高级编程及实例剖析.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言高级编程及实例剖析
点击下载文档
相关专题 c语言经典例题及答案 实例 高级编程 语言 c语言经典例题及答案 实例 高级编程 语言
[其他范文]相关推荐
[其他范文]热门文章
下载全文