嵌套函数(仅限 C)(IBM 扩展)

嵌套函数是在另一个函数的定义中定义的函数。 可以在允许变量声明的任何位置定义该变量,这允许嵌套函数中的嵌套函数。 在包含函数中,可以在使用 auto 关键字定义之前声明嵌套函数。 否则,嵌套函数具有内部链接。 语言功能是对 C89 和 C99的扩展,实现此功能是为了便于移植使用 GNU C 开发的程序。

嵌套函数可以访问其定义之前的包含函数的所有标识。

在包含函数退出后不得调用嵌套函数。

嵌套函数不能使用 goto 语句跳转至包含函数中的标签,也不能使用从包含函数继承的 __label__ 关键字声明的本地标签。