一.声明和定义
——对函数来说:函数声明指定了该函数的名字以及返回类型和参数表(又名函数原型)。
函数定义除了这些信息还为函数提供了函数体。
——对对象来说:定义有如下两种形式
int p;
int p=1;
——extern对声明但不定义一个对象提供了一种方法
extern int p;
extern int q=1;
前者是一个声明,对程序来说是一个保证,表示在其他某个地方存在一个定义。后者视为该对象的定义。
extern void print();
void print();
extern 用于函数声明时,不起任何作用,上面两个声明是等价的。
二.头文件
头文件不应该含有非inline函数或对象的定义,因为头文件被包含后会引起重复定义。
符号常量与inline函数可以被多次定义。
符号常量是声明为const的常量
const int p=3;
const int *const q=&p;