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