原创
嵌入式微控制器C语言学习笔记7-《C程序设计语言(第2版)》第4章(第三部分)
C语言中的函数可以递归调用,即函数可以直接或者间接调用自身。递归并不节省存储器的开销,递归的执行速度并不快,但递归代码比较紧凑。
C语言中最常用的预处理器指令是:#include指令(用与在编译过程间把指定文件的内容包含进当前文件中)和#define指令(用任意字符序列替代一个标记)。
#include指令形式如下:#include "文件名" 或 #include <文件名>。
文件名用双引号引起来,则在源文件所在位置查找该文件;如果在该位置没有找到文件,或者如果文件名是用尖括号括起来的,则根据相应的规则查找该文件。
在大规模的程序中,#include指令是将所有声明捆绑在一起的较好的方法。
宏定义的形式如下:#define 名字 替换文本。
宏定义也可以带参数,使宏看起来像是函数调用,但宏调用直接将替换文本插入到代码中。可以通过#undef指令取消名字的宏定义。
形式参数不能用带引号的字符串替换。如果在替换文本中,参数名以#作为前缀则结果将被扩展为由实际参数替换该参数的带引号的字符串。
#if语句对其中的常量整型表达式(其中不能包含sizeof、类型转换运算符或enum常量)进行求值,若该表达式的值不等于0,则包含其后的各行,直到遇到#endif、#elif或者#else语句为止。
C语言定义了两个预处理语句#ifdef与#ifndef,用来测试某个名字是否已经定义。
文章评论(0条评论)
登录后参与讨论