2.3.5. 声明和定义
定义只可以出现一次,而声明则可以出现多次
变量的用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过使用extern关键字声明变量名而不定义它。不定义变量的声明包括对象名、对象类型和对象类型前的关键字extern:
extern int i; // declares but does not define i
int i; // declares and defines i
看不出下面这个是什么问题
-------------------------------
Exercises Section 2.4
下种段虽然合法,但是风格很糟糕。有什么问题呢?怎样改善?
for (int i = 0; i < 100; ++i) // process i
---------------------------
2.9.1. 设计自己的头文件
因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。
2.9.2. 预处理器的简单介绍
预处理器变量有两种状态:已定义或未定义。定义预处理器变量和检测其状态所用的预处理器指示不同。#define指示接受一个名字并定义该名字为预处理器变量。#ifndef指示检测指定的预处理器变量是否未定义。如果预处理器变量未定义,那么跟在其后的所有指示都被处理,直到出现#endif。