• C语言工作原理和运行机制

    2014-09-26
    可以说,所有的编程语言都是一个原理,使用人类能读懂的语言来编写源代码(source code),再利用编译器将源代码翻译成机器能读懂的语言,称为目标代码(object language)。 在计算机底层硬...
  • C语言动态链接库DLL的加载

    2014-08-23
    C语言动态链接库DLL的加载
    静态链接库在链接时,编译器会将 .obj 文件和 .LIB 文件组织成一个 .exe 文件,程序运行时,将全部数据加载到内存。 如果程序体积较大,功能较为复杂,那么加载到内存中的时间就会比...
  • C语言第一个DLL程序

    2014-08-23
    C语言第一个DLL程序
    DLL 程序的入口函数是 DllMain(),就像 DOS 程序的入口函数是 main()、Win32 程序的入口函数是 WinMain() 一样。前面我们一直在讲的就是DOS程序。 DllMain() 函数的原型为: 复制纯文本新窗口 BO...
  • 动态链接库(dll)简介

    2014-08-23
    DLL 是 Dynamic Link Library 的缩写,译为动态链接库。DLL也是一个被编译过的二进制程序,可以被其他程序调用,但与 exe 不同,DLL不能独立运行,必须由其他程序调用载入内存。 DLL 中封装...
  • C语言多文件编译的例子

    2014-08-23
    在 VC6.0 中新建一个工程,添加 fun.c、main.c 两个源文件和 fun.h 一个头文件,内容如下: fun.c 复制纯文本新窗口 #include stdio.h int fun1 () { printf ( The first function! \n ); return 0 ; } int fun2 () { pr...
  • C语言头文件深入理解

    2014-08-23
    C语言头文件深入理解
    C语言程序中,源文件通常分为两种:一种用于保存程序的声明(declaration),称为头文件;另一种用于保存程序的实现(implementation),称为定义(definition)文件。 C程序的头文件以.h为后缀,...
  • C语言为指针动态分配内存

    2014-08-22
    C语言程序员要严防内存泄漏,这个内存泄漏就是由动态内存分配引起的。指针是C语言和其它语言的最大区别,也是很多人不能跨入C语言的一道门槛。既然指针是这么一个危险的坏东西...
  • C语言FILE结构体以及缓冲区深入探讨

    2014-08-22
    C语言FILE结构体以及缓冲区深入探讨
    在C语言中,用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。 定义文件指针的一般形式为: FILE *fp; 这里的FILE,实际上是在s...
  • C语言getchar()、getche()、getch()的区别

    2014-08-22
    三个函数的对比 -- 缓冲区 头文件 回显 getchar() 有缓冲区 stdio.h 有回显 getch() 无缓冲区 conio.h 无回显 getche() 无缓冲区 conio.h 有回显 getchar()函数 先来看一下getchar(),其原型为: int getch...
  • C语言缓冲区(缓存)详解

    2014-08-22
    缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做 缓冲区 。 缓冲区根...
  • 对C语言输入输出流的深入理解

    2014-08-22
    流(stream)是一个很抽象的概念,《C程序设计语言》中这样定义:流与磁盘或其它外围设备关联的数据的源或目的地。 在Unix/Linux中,文本流和二进制流是相同的,但在Windows中,稍有差...
  • C语言二分查找(折半查找)算法及代码

    2014-08-21
    C语言二分查找(折半查找)算法及代码
    二分査找也称折半査找,其优点是查找速度快,缺点是要求所要査找的数据必须是有序序列。该算法的基本思想是将所要査找的序列的中间位置的数据与所要査找的元素进行比较,如果...
  • C语言顺序查找算法及代码

    2014-08-21
    顺序査找是一种简单的査找算法,其实现方法是从序列的起始元素开始,逐个将序列中的元素与所要查找的元素进行比较,如果序列中有元素与所要查找的元素相等,那么査找成功,如...
  • C语言归并排序(合并排序)算法及代码

    2014-08-21
    C语言归并排序(合并排序)算法及代码
    归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。仅从算法思想上了解归并排序会觉得很抽象,接下来...
  • C语言快速排序算法及代码

    2014-08-21
    C语言快速排序算法及代码
    快速排序是对冒泡法排序的一种改进。 快速排序算法 的基本思想是:将所要进行排序的数分为左右两个部分,其中一部分的所有数据都比另外一 部分的数据小,然后将所分得的两部分...
  • C语言插入排序算法及代码

    2014-08-21
    插入排序是排序算法的一种,它不改变原有的序列(数组),而是创建一个新的序列,在新序列上进行操作。 这里以从小到大排序为例进行讲解。 基本思想及举例说明 插入排序的基本...
  • C语言冒泡排序算法及代码

    2014-08-21
    冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。 冒泡这个名字的由来是因为越大的元素会经由交换慢慢浮到数列的顶端,故名。 这里以从小到大排序...
  • C语言选择排序算法及代码

    2014-08-21
    选择排序是排序算法的一种,这里以从小到大排序为例进行讲解。 基本思想及举例说明 选择排序(从小到大)的基本思想是,首先,选出最小的数,放在第一个位置;然后,选出第二...
  • C语言文件检测函数与所有库文件

    2014-08-19
    C语言中常用的文件检测函数有以下几个。 1) 文件结束检测函数feof函数 调用格式: feof(文件指针); 功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。 2) 读写...
  • C语言文件的随机读写

    2014-08-19
    前面介绍的对文件的读写方式都是顺序读写,即读写文件只能从头开始,顺序读写各个数据。但在实际问题中常要求只读写文件中某一指定的部分。为了解决这个问题可移动文件内部的...
  • C语言文件的读写

    2014-08-19
    对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数: 字符读写函数 :fgetc和fputc 字符串读写函数:fgets和fputs 数据块读写函数:freed和fwrite 格式化读写函数:...
  • C语言文件指针及文件打开和关闭

    2014-08-19
    在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。 通过文件指针就可对它所指的文件进行各种操作。 定义说明文件指针的一般形式为: FILE *指针变量标识符; 其中FIL...
  • C语言文件概述

    2014-08-19
    C语言文件概述
    所谓文件是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头...
  • C语言位域(位段)

    2014-08-19
    有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简...
  • C语言位运算符详解

    2014-08-19
    C语言提供了六种位运算符: 按位与 | 按位或 ^ 按位异或 ~ 取反 左移 右移 按位与运算 按位与运算符是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进...