複素数リテラル型は、複素数を表します。事前定義マクロ _Complex_I は、虚数単位の値を使用して、型 const float _Complex の定数式を表します。例えば、次のようにします。
float _Complex varComplex = 2.0f + 2.0f*_Complex_I;
は、 型 float _Complex に対する変数 varComplex を初期化します。
複素数型は、サフィックス i、I、j、または J のいずれかで示すこと もできます。複素数の実数部は、サフィックス f、F、l、または L の 1 つで示すことができます。 これらのサフィックスは、GNU C で開発されたアプリケーションを移植しやすくするための C99 の拡張機能です。
複素数リテラルを単純化した構文を次に示します。
>>-| floating-constant |--| complex-suffix |------------------->< floating-constant: |--+-decimal-floating-constant-----+----------------------------| '-hexadecimal-floating-constant-' complex-suffix: |--+-+-----------------+--suffixij-+----------------------------| | '-floating-suffix-' | '-suffixij--+-----------------+-' '-floating-suffix-'
ここで、
サフィックス f または F は、 型 float _Complex の複素数リテラルを示します。サフィックス l または L は、型 long double _Complex の複素数リテラルを示します。 複素数リテラルは、サフィックスがない型 double _Complex です。
関連参照