代码之家  ›  专栏  ›  技术社区  ›  chappar

嵌套函数是C标准的一部分吗?

c
  •  5
  • chappar  · 技术社区  · 17 年前

    今天我遇到了我从未听说过的嵌套函数。它只是GNU C的一部分吗?

    这是一个维基百科中嵌套函数的示例。

    float E(float x)
    {
        float F(float y)
        {
            return x + y;
        }
        return F(3);
    }
    

    从代码来看,嵌套函数类似于C++内联函数。那么,是否可以取出嵌套函数的地址呢?

    编辑:

    2 回复  |  直到 17 年前
        1
  •  13
  •   Adam Rosenfield    17 年前

    GCC manual 了解更多信息。实际上可以获取嵌套函数的地址,这是使用一种称为 trampolines ,但请注意手册中列出的注意事项。

        2
  •  1
  •   qrdl    17 年前

    GCC extension ,不是标准C