반응형
자료형 확장
자료형을 섞어서 쓰면 컴파일러에서 암시적 형 변환(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;
}
반응형
'Language > C언어' 카테고리의 다른 글
C004_switch문 설명 (0) | 2023.09.06 |
---|---|
C003_bool자료형 (0) | 2023.09.05 |
C001_literal(리터럴)과 const(상수)에 대하여 (0) | 2023.09.03 |
ASCII코드 (0) | 2023.09.02 |
Debug와 Release (0) | 2023.09.01 |