형변환
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로 변환되어 결과값이 달라지는 것을 알 수 있다.