オプションデータ共用体は、次のような特殊な構文を持ち、非常によく使用されます。次のように宣言されます。
type-name *identifier;
この構文は次の共用体と同じです。
union switch (bool opted) { case TRUE: type-name element; case FALSE: void; } identifier;
このオプションデータ構文は、次の可変長配列宣言とも同じです。これはブール型 opted を配列の長さと解釈できるためです。
type-name identifier<1>;