【摘要】
知识点包括:指针与取地址符同四则运算的优先级比较;宏定义在语句末尾是否需要添加分号;宏定义在自增自建、输入输出时候是否会导致运行出错;const 在指针符号的左右两侧,地址与指向的可变性比较分析;const与宏定义的比较分析:在数据类型、安全检查、边际效应(字符替换导致错误)和可否调试上的差别;const 成员函数的不变性与可变性;sizeof 在字符数组与整型数组上的差异;sizeof 在结构体上的对齐与static 关键字、double数据类型对结构体长度的影响;熟悉double、long double、float 类型长度;strlen 与 sizeof 的比较分析。
【正文】
1、宏定义
1)C预处理器
考点:优先级列表中 * & 互等,且高于 -
#include指令
用于在编译期间把指定文件的内容包含当前文件;
#define指令
用于任意字符序列替代一个标记;
2)用预处理指令#define声明一个常数,用来表示一年有秒
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
考点:define的6个要点
a.#define 替换的文本可以是任意的;b.#define forever for(;;) 不能以分号结束 ;