title: “형변환” categories:

  • C

    #형변환 : 네이버 블로그

형변환(type conversion)이란 실행 중에 데이터의 타입을 변경하는 것이다.

형변환은 자동적인 형변환과 명시적인 형변환으로 나눌 수 있다.

자동적인 형변환은 char형이 int형으로 바뀌거나 10(int)+1.2(double)로 바뀌는 것을 예시로 들 수 있다.

#include
int main(void) {
 char c; int i; float f;
 c = 10000;
 i = 1.23456 + 10;
 f = 10 + 20;
 printf("c = %d f = %d f = %f", c, i, f);
 return 0;
}

int가 char로 변환되고 double이 int로 변환된다

c=16 i=11 f=30.000000이 출력된다

명시적인 형변환은 형변환 연산자를 사용한다. 원하는 자료형을 괄호 안에 넣고 상수나 변수앞에 적으면 된다.

(int)1.2345 //1.2345가 정수형인 1로 변환된다.

#include
int main(void) {
 int i;
 double f;
 f = 5 / 4;
 printf("%f\n", f);

 f = 5 / (double)4;
 printf("%f\n", f);

 f = (double))5 / 4;
 printf("%f\n", f);

 f = 5.0 / 4;
 printf("%f\n", f);

 f = (double)5 / (double)4;
 printf("%f\n", f);

 i = 1.3 / 1.8;
 printf("%f\n", i);
}

계산 중 int가 double로 변환되어 결과값이 달라지는 것을 알 수 있다.

업데이트: