摘要: C文件读写 上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。 打开文件 您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已... 阅读全文
posted @ 2018-03-09 19:16 乡下菜农 阅读(149) 评论(0) 推荐(0)
摘要: C 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。 当我们提到输出时,这意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。 标准文件 C 语言把所有的设备都当作文件。所以... 阅读全文
posted @ 2018-03-09 19:14 乡下菜农 阅读(386) 评论(0) 推荐(0)
摘要: C 递归 递归指的是在函数的定义中使用函数自身的方法。 举个例子: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'" 语法格式如下: void recursion() { st... 阅读全文
posted @ 2018-03-09 19:10 乡下菜农 阅读(152) 评论(0) 推荐(0)
摘要: C typedef C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BYTE; 在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如: BYTE b1, b2; 按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩... 阅读全文
posted @ 2018-03-09 19:09 乡下菜农 阅读(127) 评论(0) 推荐(0)
摘要: 函数指针 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明: typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型 实例 以下实例声明了函数指针变量 p,指向函数 max: 实例 #in... 阅读全文
posted @ 2018-03-09 19:00 乡下菜农 阅读(148) 评论(0) 推荐(0)
摘要: 笔记列表 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。 要理解指针就要先理解计算机的内存。计算机内存会被划分为按顺序编号的内存单元。每个变量都是存储在内存单元中的,称之为地址。 #include int main () { ... 阅读全文
posted @ 2018-03-09 18:32 乡下菜农 阅读(342) 评论(0) 推荐(0)
摘要: C 指针 学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址: 实例 #includ... 阅读全文
posted @ 2018-03-09 18:00 乡下菜农 阅读(172) 评论(0) 推荐(0)
摘要: 同样地,对指针进行递减运算,即把值减去其数据类型的字节数,如下所示: #include const int MAX = 3; int main () { int var[] = {10, 100, 200}; int i, *ptr; /* 指针中最后一个元素的地址 */ ptr = &var[MAX-1]; for ( i = MAX; i > 0;... 阅读全文
posted @ 2018-03-09 17:44 乡下菜农 阅读(142) 评论(0) 推荐(0)
摘要: 指针可以用关系运算符进行比较,如 ==、。如果 p1 和 p2 指向两个相关的变量,比如同一个数组中的不同元素,则可对 p1 和 p2 进行大小比较。 下面的程序修改了上面的实例,只要变量指针所指向的地址小于或等于数组的最后一个元素的地址 &var[MAX - 1],则把变量指针进行递增: #include const int MAX = 3; int main () { int... 阅读全文
posted @ 2018-03-09 17:44 乡下菜农 阅读(1136) 评论(0) 推荐(0)
摘要: 我们喜欢在程序中使用指针代替数组,因为变量指针可以递增,而数组不能递增,因为数组是一个常量指针。下面的程序递增变量指针,以便顺序访问数组中的每一个元素: 阅读全文
posted @ 2018-03-09 17:43 乡下菜农 阅读(253) 评论(0) 推荐(0)