Spec-Zone.ru › C

complex

Определено в заголовочном файле <complex.h>
#define complex _Complex
(начиная с C99)

Этот макрос раскрывается в спецификатор типа, используемый для обозначения комплексных типов.

Программа может отменить определение макроса complex и, возможно, затем определить его заново.

Пример

#include <complex.h>
#include <math.h>
#include <stdio.h>

void print_complex(const char* note, complex z)
{
    printf("%s %f%+f*i\n", note, creal(z), cimag(z));
}

int main(void)
{
    double complex z = -1.0 + 2.0*I;
    print_complex("z  =", z);
    print_complex("z\u00B2 =", z * z);
    double complex z2 = ccos(2.0 * carg(z)) + csin(2.0 * carg(z))*I;
    print_complex("z\u00B2 =", cabs(z) * cabs(z) * z2);
}

Вывод:

z  = -1.000000+2.000000*i
z² = -3.000000-4.000000*i
z² = -3.000000-4.000000*i

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
    • 7.3.1/4 complex (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
    • 7.3.1/4 complex (стр.: 136)
  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.3.1/4 complex (стр.: 188)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.3.1/2 complex (стр.: 170)

См. также

imaginary
(C99)
макрос мнимого типа
(макрос-ключевое слово)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/complex/complex

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API