C 언어의 Complex Types은 복소수(complex number)를 다루기 위한 데이터 형식입니다. C99부터 지원되며, 복소수는 실수와 허수의 합으로 이루어지는 수입니다.

C 언어의 Complex Types은 _Complex 키워드를 사용하여 선언할 수 있습니다. 예를 들어, 다음과 같이 복소수를 선언할 수 있습니다.

#include <complex.h>



double _Complex z1 = 1.0 + 2.0*I;

float _Complex z2 = 1.0f - 2.0f*I;

long double _Complex z3 = 1.0L + 2.0L*I;

이러한 형식의 변수는 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산을 수행할 수 있습니다. 예를 들어, 다음과 같이 두 복소수를 더할 수 있습니다.

#include <complex.h>

#include <stdio.h>



int main()

{

    double _Complex z1 = 1.0 + 2.0*I;

    double _Complex z2 = 3.0 - 1.0*I;



    double _Complex result = z1 + z2;



    printf("%f + %fi\n", creal(result), cimag(result));

    // 출력: 4.000000 + 1.000000i



    return 0;

}

또한, 복소수의 크기를 계산하는 함수인 cabs()와 삼각함수(trigonometric function)를 계산하는 함수인 csin(), ccos(), ctan() 등도 제공됩니다.

#include <complex.h>

#include <stdio.h>



int main()

{

    double _Complex z = 1.0 + 2.0*I;



    printf("|z| = %f\n", cabs(z));

    // 출력: |z| = 2.236068



    printf("sin(z) = %f + %fi\n", creal(csin(z)), cimag(csin(z)));

    // 출력: sin(z) = 3.165778 + 1.959601i



    printf("cos(z) = %f + %fi\n", creal(ccos(z)), cimag(ccos(z)));

    // 출력: cos(z) = -0.642148 + 1.068607i



    printf("tan(z) = %f + %fi\n", creal(ctan(z)), cimag(ctan(z)));

    // 출력: tan(z) = 0.033812 + 1.014793i



    return 0;

}

C 언어의 Complex Types은 공학, 물리학 등의 분야에서 유용하게 사용됩니다.

Comments


Comments are closed