1. 相同点 声明和定义都规定了变量的类型和名字。 2. 不同点 定义申请存储空间,可能会为变量赋初始值,而声明不会;变量只能定义一次,但可以声明多次。 3. 实例 extern int i1; // 声明i1 int i2; // 声明并定义i2 extern int i3 =1; // 定义i3