我只是跨ANSI(ISO)就没有允许的功能嵌套.. 我想知道是什么让GNU C ITO实现这个功能(为什么这样有需要时)。如果函数say(a())在另一个函数say(b())中定义,那么 a()的生命周期将是整个程序?嵌套函数
a()ll的存储是否将在分配给函数b()的堆栈中创建?
Q
嵌套函数
1
A
回答
1
我相信http://en.wikipedia.org/wiki/Nested_function回答大部分问题#1。问题#2在http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html和http://gcc.gnu.org/onlinedocs/gccint/Trampolines.html中的问题#3中有更详细的解释。
编辑:(除了)的维基百科文章莫名其妙地向左PL/M关闭其支持嵌套函数基于ALGOL的语言的列表。啊,过去的美好时光。
1
1)非常主观。不是一个线索。 :-)
2)不,内部函数的生存期限制在外部函数的生命周期内。请参阅GCC documentation on nested functions。如果保留一个指向内部函数的指针并在外部函数返回后调用它,那么可能会发生坏事。
3)内部函数分配自己的堆栈空间,就像任何其他函数一样。它必须分配自己的空间以支持递归调用。
相关问题
- 1. 嵌套函数-python
- 2. 嵌套函数Pythonic?
- 3. jQuery嵌套函数
- 4. 上嵌套函数
- 5. 如何更改嵌套函数的变量在嵌套函数
- 6. 嵌套函数:“错误:无法找到嵌套函数”
- 7. 嵌套函数Javascript字数
- 8. Javascript函数和嵌套函数
- 9. Javascript嵌套函数“不是函数”
- 10. 函数内部的嵌套函数
- 11. 私有函数vs嵌套函数
- 12. IF函数和嵌套函数
- 13. jQuery匿名函数 - 嵌套函数
- 14. javascript函数调用 - 嵌套函数
- 15. PHP函数返回。嵌套函数
- 16. Haskell嵌套堆肥函数
- 17. Angular 2:Ts:嵌套函数
- 18. jquery嵌套函数访问
- 19. “这个”嵌套函数
- 20. SQL嵌套聚合函数
- 21. 嵌套函数调用
- 22. 的JavaScript - 写嵌套函数
- 23. Postgres函数与嵌套IF
- 24. Javascript整理嵌套函数
- 25. 嵌套函数性能(F#)
- 26. 嵌套函数的CoffeeScript
- 27. 嵌套内核函数opencl
- 28. Javascript嵌套函数返回
- 29. 调用嵌套函数
- 30. R中的嵌套函数
谢谢你们:) – Tarun 2010-06-05 17:25:04