Language/C언어
C002_자료형 확장과 자료형 축소
OdOp 관리자
2023. 9. 4. 10:22
반응형
자료형 확장
자료형을 섞어서 쓰면 컴파일러에서 암시적 형 변환(implicit type conversion)을 하게 되는데 자료형의 크기가 큰 쪽, 표현 범위가 넓은 쪽으로 자동 반환이 됩니다.
이를 형 확장(type promotion)이라고 합니다.
#include <stdio.h>
int main()
{
int num1 = 11;
float num2 = 4.4;
//자료형 확장
printf("num1 + num2: %f\n", num1 + num2); //15.4
return 0;
}
num1은 정수형 num2는 실수형입니다. 이 둘을 합치면 위의 설명처럼 실수형으로 출력이 되게 됩니다.
자료형 축소
크기가 작은 쪽으로 변환되는 것을 형 축소(type demotion)라 합니다.
형 축소가 일어나면 컴파일할 때 값의 손실이 일어날 수 있다고 경고가 나옵니다.
이를 사용하는 이유는 자료형을 숨기고 싶을 때 사용합니다.
#include <stdio.h>
int main()
{
float num2 = 4.4f;
float num3 = 11.0f;
int num4 = num3 / num2;
//자료형 축소
printf("num3 / num2: %d\n", num4); //2: 정수형으로 저장되어야만 정확히 출력된다.
return 0;
}
반응형