一、简述
什么是定义?什么是说明?相信很多小伙伴都对这两个概念模糊不清,下面我就对其简单介绍一下。
二、详细说明
- 定义
全称为定义声明,给变量分配空间。 - 声明
全称为引用声明,不给变量分配空间,因为它是引用已有变量的。
引用声明使用关键字 extern,但不能够对其进行初始化,一旦初始化,就不叫声明(引用声明),而叫定义(定义声明)。 - ***注意
变量只能被定义一次(即所谓的“单定义规则”),但可在多处声明。
三、举例
int n;
//这是一个定义
//因为编译器会给变量 n 初始化为默认值 0,分配了空间
extern int m;
//这是一个声明
//因为变量 m 没有被分配空间
extern int x = 10;
//这是一个定义
//因为变量 x 被初始化为 10,分配了空间