开发者社区 问答 正文

为什么 C 没有嵌套函数?

为什么 C 没有嵌套函数?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 08:09:08 539 分享 版权
1 条回答
写回答
取消 提交回答
  • 实现嵌套函数不是件简单的事, 它们需要可以正当的访问包含函数的 本地变量, 为了简单化, 这个功能是被故意舍弃的。gcc 的扩展 功能允许函数嵌套。 许多可能使用嵌套函数的地方 (例如 qsort 的比较函数), 一个充分但少许麻烦的解决方法是使用一个定义为 静态 (static) 的邻近函数, 如果需要, 可以通过少量静态 变量进行通讯。一个干净些的方法是传递一个包含所需内容的结构指针, 虽然 qsort 不支持这种方法。

    2022-03-30 08:09:30
    赞同 展开评论
问答地址: