个人简介

Echo Blog


江湖无名 安心练剑
  • C语言学习笔记-30-内存管理
    C 内存管理 本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 头文件中找到。 函数 描述 void *calloc(int num, int size); 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-29-可变参数
    C 可变参数 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。 C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。 实例 下面的实例演示了这种函数的定义。 int func(int, ... ) { . . . } int main() { func(2, 2, 3); ...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-28-递归
    C 递归 递归指的是在函数的定义中使用函数自身的方法。 举个例子: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?”从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?’从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’” 语法 void recursion() { statements; ...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-27-error 错误处理
    C 错误处理 C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。 在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。 您可以在 errno.h 头文件中找到各种各样的错误代码。 所以,C 程序员可以通过检查返回值,然后根据返回...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-26-类型强转
    强制类型转换 强制类型转换是把变量从一种类型转换为另一种数据类型。 例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。 实例 您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示: (type_name) expression 请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-25-头文件
    C 头文件 头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。 有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。 前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。 引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-24-预处理器
    C 预处理器 C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。 简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。 我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。 它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。 常见指令 下...
    2020-05-08 11:23:59 | C
  • C语言学习笔记-23-文件 IO
    C 文件读写 上一章我们讲解了 C 语言处理的标准输入和输出设备。 本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。 C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。 打开文件 您可以使用 fopen() 函数来创建一个新的文件或...
    2020-05-08 11:23:59 | C