C语言中的声明与定义的区别
| 功能 | 声明(Declaration) | 定义(Definition) |
|---|---|---|
| 告知“有这个东西” | ✅ 核心职责 | ✅ 自带(包含声明) |
| 绑定类型 | ✅ 必须绑定 | ✅ 必须绑定(和声明一致) |
| 分配存储单元/实体 | ❌ 不分配 | ✅ 核心职责(变量给内存,函数给实现) |
一句话记死:
- 声明:报名字+定类型(让编译器认识它),不占内存;
- 定义:报名字+定类型+给实体(让编译器找到它的存储/实现),占内存;
- 两者都必须绑定类型,且类型要完全一致,定义是“声明+实体”的结合体。
| 功能 | 声明(Declaration) | 定义(Definition) |
|---|---|---|
| 告知“有这个东西” | ✅ 核心职责 | ✅ 自带(包含声明) |
| 绑定类型 | ✅ 必须绑定 | ✅ 必须绑定(和声明一致) |
| 分配存储单元/实体 | ❌ 不分配 | ✅ 核心职责(变量给内存,函数给实现) |
一句话记死: