摘要:
编译程序前,先由预处理器检查程序(因此称为预处理器)。根据程序中使用的预处理器指令,预处理器用符号缩略语所代表的内容替换程序中的缩略语。 预处理器不能理解C,它一般是接受一些文件并将其转换成其他文本。 翻译程序的第一步 对程序作预处理前,编译器会对它进行几次翻译处理。编译器首先把源代码中出现的字符... 阅读全文
摘要:
二进制补码表示法 几乎所有的计算机都使用二进制补码表示法来存储位于n位存储单元中的有符号整数。 在二进制补码表示法中,最左位决定符号。如果它是0,该整数为正(即非负);如果是1,该整数为负。 两种运算:反码(或取一个整数的反码):简单反转各个位,即把0位变为1位,把1位变为0位。补码(或取一个整数... 阅读全文
摘要:
声明和初始化结构指针 声明结构化指针,例如:struct guy * him; 初始化结构指针(如果barney是一个guy类型的结构),例如:him = &barney; 注意:和数组不同,一个结构的名字不是该结构的地址,必须使用&运算符(类似普通变量)。 问题:如何使用指针来访问成员? 1° ... 阅读全文
摘要:
文件 一个文件通常就是磁盘上的一段命名的存储区。但对于操作系统来说,文件就会更复杂一些。例如,一个大文件可以存储在一些分散的区段中,或者还会包含一些使操作系统可以确定其文件类型的附加数据。 C将文件看成是连续的字节序列,其中每一个字节都可以单独地读取。ANSI C提供了文件的两种视图:文本视图和二... 阅读全文
摘要:
存储时期即生存周期——变量在内存中保留的时间 变量的作用域和链接一起表明程序的哪些部分可以通过变量名来使用该变量。 注意:生存期和作用域是两个不同的概念。 作用域 作用域描述了程序中可以访问一个标识符的一个或多个区域。一个C变量的作用域可以是代码块作用域、函数原型作用域,或者文件作用域。 在代码... 阅读全文
摘要:
1° 选择排序算法 核心思路如下图: 以字符串排序进行说明 #include <stdio.h> #include <string.h> #define SIZE 81 #define LIM 20 #define HALT " " void stsrt(char *strings[], int n 阅读全文
摘要:
c之精髓——指针(pointer)——用来存储地址的变量。一般来讲,指针是一个其数值为地址的变量(或更一般地说是一个数据对象)。 一元运算符&可以取得变量的存储地址,一个变量的地址可以被看作是该变量在内存中的位置。 地址运算符&:后跟一个变量名时,&给出该变量的地址。 间接运算符*:当后跟一个指针... 阅读全文