C中函数和块范围的区别?

时间:2015-02-18 01:55:18

标签: c scope

C中的块范围和功能范围有什么区别?有人告诉我,在大括号内声明的任何变量都计入块范围内,但是当我们声明一个函数时,它会以一个大括号开始和关闭。我很困惑。

1 个答案:

答案 0 :(得分:9)

在C语言中功能范围是一个描述标签范围的正式术语。标签在整个函数中都是可见的,无论该函数在何处被声明。标签是唯一具有这种不寻常属性的实体,因此需要特殊的范围。其他任何东西都没有功能范围

变量不能具有功能范围。本地声明的所有变量始终具有块范围。包含整个函数的最外面的{ ... }对也是一个块。