• 预处理


    1. 宏和函数的选择实际上是时间和空间的的权衡。

      宏生成内联代码,即在程序中生成语句。如果调用 20次宏,即在程序中插入20行代码。如果调用函数20次,程序中只有一份函数语句的副本,所以节省了空间。但是,程序的控制必须跳转至函数内,随后再返回主调程序,这显然要比内联代码药费更多的时间。

    • 宏不用担心变量类型。这是因为宏处理的是字符串,而不是实际的值。
    • 对于简单的函数,程序员通常使用宏。
    1 #define MAX(X,Y) ((X) > (Y) ? (X) : (Y)) 
    2 #define ABS(X) ((X) < 0 ? -(X) : (X))
    3 #define ISSIGN(x) ((x) == 'x' || (x) == '-' ? 1 : 0) 
    • 宏名中不允许有空格,但是在替换字符串中可以有空格。
    • 用 () 把宏的参数和替换体括起来。避免宏展开出错。
    • 用大写字母表示宏函数名称。该惯例不如用大写字母表示宏常量广泛。但是,大写字母可以提醒程序员宏有可能产生副作用。
    • 如果打算使用宏来加快程序的运行速度,那么首先要确定使用宏和使用函数是否有较大差异。在程序中只使用一次的宏是无法明显减少程序的运行时间的。在循环嵌套中使用宏更有助于提高效率。

    2. 文件包含 #include

    1 #include <stdio.h>            // 查找系统目录
    2 #include "hot.h"        // 查找当前工件目录
    3 #include "/usr/biff/p.h"    //查找 /usr/biff 目录

    在大部分情况下,头文件的内容是编译器生成最终代码时所需的信息,而不是添加到最终代码中的材料。

  • 相关阅读:
    模拟退火求二维费马点
    二叉查找树
    Linux中让普通用户拥有超级用户的权限
    python 正则表达式应用——缩写词扩充
    解决单链表中的环问题
    python数学函数
    train,dev,test数据集作用
    朴素贝叶斯法(二)——基本方法
    生成模型与判别模型
    ImportError: cannot import name wordnet
  • 原文地址:https://www.cnblogs.com/luwudang/p/9640221.html
Copyright © 2020-2023  润新知