这样的做法允许回调函数恢复其调用时的状态。这样的惯用法在功能上类似于闭包，但语法上有所不同。
gcc对C语言的扩展.gcc编译器对C语言实现了一种闭包的程序特性。
C语言扩展：Blocks.C语言 (使用LLVM编译器或苹果修改版的GCC)支持块。闭包变量用__block标记。同时，这个扩展也可以应用到Objective-C与C++中。typedef int (^IntBlock)();IntBlock downCounter(int start) {