首页 新闻 会员 周边 捐助

都是定义,没有声明

0
[已关闭问题] 关闭于 2025-12-04 17:24

其他语言(Java、Python、JS 等):

  • 要么没有“纯声明”语法
  • 要么“声明”本身就隐含“定义”

在实践层面,几乎所有语言中,写出一个变量名就意味着“我要用它”,系统就会为它准备存储空间 —— 这就是“定义”。

 

“纯声明”(如 C 的 extern)是一种为了支持多文件链接而存在的特殊机制,在单文件脚本语言(Python/JS)或托管语言(Java)中基本不需要。

 C / C++:严格区分“声明” vs “定义”

  • int x; → 定义(tentative definition,分配内存,初始化为0)
  • int x = 3; → 定义(分配内存 + 初始化)
  • extern int x; → 声明(不分配内存)

🔸 关键:C/C++ 需要链接器(linker),所以必须明确“哪里分配内存”。

*Tesla*的主页 *Tesla* | 小虾三级 | 园豆:1220
提问于:2025-12-04 17:24
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册