ブロック (C言語拡張)
ブロック (Blocks) はAppleによるC言語、Objective-C、C++用の非標準の拡張であり、ラムダ式風の構文を用いてクロージャを作成する機能を提供する。ブロックはMac OS X 10.6以降とiOS 4.0以降向けのプログラムでサポートされるが、サードパーティ製ランタイムでMac OS X 10.5及びiOS 2.2以降でも使用可能である。
ブロックは、Grand Central Dispatchスレッディングアーキテクチャーをより容易に記述できるようにするという明確な目的でAppleによって設計された一方で、そのアーキテクチャーから独立して他のプログラミング言語のクロージャに類似した方法で使用することもできる。AppleはブロックをGNUコンパイラコレクションの自社のブランチとClang LLVMコンパイラフロントエンドに実装している。