共通の拡張とは、規格には未定義だが多くの処理系で採用されている仕様のこと。共通の拡張にはmain関数の3番目の引数等があります。C99に記載の共通の拡張を列挙してみます。
共通の拡張とは、規格としては定義されていないけれども多くの処理系で採用されている仕様のことです。共通の拡張に依存するプログラムは、厳密には規格に準拠していないプログラムとなります。その結果、移植性が低下することも考えられます。共通の拡張を把握しておくことは、移植性の高いプログラムを書く上で重要でしょう。
共通の拡張を、C言語の標準規格であるJIS X 3010:2003(ISO/IEC 9899:1999)の「附属書J 可搬性」を参考に列挙してみましょう。