------------------------------------------------------------------> 형 확장(자동으로 진행됩니다)
char < short < int < long < long long < float < double < long double
형 축소(값 손실로 인해 바로 처리할 수 없습니다) <------------------------------------------------------------------
형의 확장은 값 손실이 없으므로 컴파일러가 알아서 처리할 수 있습니다. 그러나 형 축소는 값 손실이 발생하여 컴파일러가 바로 처리할 수 없고 따라서 컴파일 경고가 발생합니다. 형 변환으로 프로그래머의 생각을 알려주어야만 컴파일러가 오류없이 변환을 할 수 있습니다. 형 변환은 컴파일러에게 자료형을 변환한다는 생각을0 확실히 알려주는 것입니다.
특히, 형 변환은 구조체와 포인터를 조합하여 사용할 때 유용하게 활용할 수 있습니다.
컴퓨터에는 여러 가지 자료형이 있습니다.
한 자료형에서 다른 자료형으로 변환해야 할 상황에선 어떻게 해야 할까요??
- (자료형) 변수
- (자료형) 값
▲위의 문법을 통해 자료형을 변경해줄 수 있습니다.
● 자료형 변환 코드 예제
#include <stdio.h>
int main()
{
int num1 = 30;
int num2 = 7;
float num3;
num3 = num1 / num2;
printf("%f\n", num3); // 4.000000
num3 = (float)num1 / num2; // num1을 float로 변환
printf("%f\n", num3); // 4.285714
return 0;
}
위의 코드에서 보듯, 자료형 변환을 통해 값을 정확하게 구하는 등의 코드를 짤 수 있습니다.
'프로그래밍 언어 > C' 카테고리의 다른 글
C언어 참고내용- 선행처리기(preprocessor)란? (0) | 2020.11.17 |
---|---|
C언어 30강) 포인터 연산 사용하기 (0) | 2020.11.17 |
C언어 28강) 공용체 (0) | 2020.11.16 |
C언어 27강)++ &연산자로 구조체(struct)포인터에 구조체 변수 할당하기 (0) | 2020.11.16 |
C언어 27강)+ 구조체(struct)의 멤버가 포인터 일 때, 구조체 포인터 변수 선언(동적메모리할당) (0) | 2020.11.15 |