为什么C语言中会自动定义未声明的变量为局部变量?

2026-04-16 18:201阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计160个文字,预计阅读时间需要1分钟。

为什么C语言中会自动定义未声明的变量为局部变量?

当在Eclipse中为C项目创建新文件(.c或.h文件)时,编辑器总是在文件顶部自动创建一个空白行。

当 Eclipse在C项目中创建一个新文件(.c或.h文件)时,编辑器总是在文件顶部自动创建一个#define,如下所示:如果该文件名为“myCFile.c”,则会有一个#像这样定义文件的开头

为什么C语言中会自动定义未声明的变量为局部变量?

#ifndef MYCFILE_C_ #define MYCFILE_C_

我见过其他编辑也这样做(我认为Codewright和SlikEdit).
#defines似乎没有为编辑器做任何事情,因为我可以毫无问题地删除它们,我想不出我想要使用它们的原因.有谁知道他们为什么在那里?

这是为了防范 multiple definitions.

本文共计160个文字,预计阅读时间需要1分钟。

为什么C语言中会自动定义未声明的变量为局部变量?

当在Eclipse中为C项目创建新文件(.c或.h文件)时,编辑器总是在文件顶部自动创建一个空白行。

当 Eclipse在C项目中创建一个新文件(.c或.h文件)时,编辑器总是在文件顶部自动创建一个#define,如下所示:如果该文件名为“myCFile.c”,则会有一个#像这样定义文件的开头

为什么C语言中会自动定义未声明的变量为局部变量?

#ifndef MYCFILE_C_ #define MYCFILE_C_

我见过其他编辑也这样做(我认为Codewright和SlikEdit).
#defines似乎没有为编辑器做任何事情,因为我可以毫无问题地删除它们,我想不出我想要使用它们的原因.有谁知道他们为什么在那里?

这是为了防范 multiple definitions.