C语言

C语言零碎知识点

时间:2024-10-31 08:47:43 C语言 我要投稿
  • 相关推荐

C语言零碎知识点

  C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。下面我们来看看C语言零碎知识点。

C语言零碎知识点

  1.编译预处理

  2.宏定义:标识符代替字符串;分为有参数和无参数

  3.#undef:删除前面定义的宏的名字。

  4.无参宏:宏名后不带参数,一般形式:#define 标识符 字符串 ①宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号一起置换;②宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#undef命令;③宏名在源程序中若用引号括起来,则预处理程序不对其作宏带换;④宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开时由预处理程序层层代换。⑤习惯上宏名用大写字母表示,以便于与变量区别。⑥宏定义只是简单的字符串代换,是在预处理完成的,而typedef是在编译时处理的,它不是作简单的代换,而是对类型说明符重新命名。

  5.带参宏定义:#define 标识符 字符串(含有参数)

  #define M(y) (y*y + 3*y)①宏名和参数表之间不能有空格出现;②形式参数不分配内存单元因此不必做类型定义只是符号代换,不存在值传递的问题;③形参是标识符,实参可以是表达式;④形参通常要用括号括起来以避免出错;

  6.文件包含:把指定的文件插入该命令行位置取代该命令行,从而把指定的文件和当前的源程序文件连成一个源文件。

  1、#define

  命令#define定义了一个标识符及一个串。在源程序中每次遇到该标识符时,均以定义的串代换它。ANSI标准将标识符定义为宏名,将替换过程称为宏

  替换。命令的一般形式为:

  #define identifier string

  注意:

  1该语句没有分号。在标识符和串之间可以有任意个空格,串一旦开始,仅由一新行结束。

  2宏名定义后,即可成为其它宏名定义中的一部分。

  3宏替换仅仅是以文本串代替宏标识符,前提是宏标识符必须独立的识别出来,否则不进行替换。例如:#define XYZ

  this is a test,使用宏printf("XYZ");//该段不打印"this is a test"而打印"XYZ"。因为预编译器识

  别出的是"XYZ"

  4如果串长于一行,可以在该行末尾用一反斜杠' '续行。

【C语言零碎知识点】相关文章:

C语言知识点讲解03-02

C语言数组知识点03-29

C语言指针知识点03-29

C语言数组知识点03-29

C语言循环结构知识点03-29

C语言循环语句知识点03-29

C语言数组知识点总结12-06

C语言知识点及其简单应用12-03

C语言字符串知识点03-29