변환 ( Casting )
- Data Type(자료형)을 변환하는 것을 의미한다.
- int -> short, int -> double 등등. .
1. 자동 형 변환 ( 암시적 형 변환 )
- 사용자(프로그래머)가 특정한 명령을 내리지 않아도 컴파일러에서 자동으로 형을 변환시켜 저장하는 방식
예시 |
| |||
|
- 5번 라인을 확인하면 a는 현재 int(정수)로 지정이 되어있는데 현재 3.5 라는 실수값으로 초기화를 시켜주려합니다.
이에 자동으로 a라는 값에는 뒤 0.5의 값은 손실된채 오른쪽 사진과 같이 3이라는 값만 들어가게 됩니다.
- 6번 라인을 확인하면 b는 현재 double(실수)로 지정이 되어있는데 현재 5라는 정수값으로 초기화를 시켜주려합니다.
이에 자동으로 b라는 값에는 5라는 값을 유지하고 값 손실없이 double값으로 자동으로 형변환이 되어 오른쪽 사진과 같이 5.000-의 값이 들어가게 됩니다.
(* 작은 자료형 -> 큰 자료형의 경우에는 값 손실 X)
(* 큰 자료형 -> 작은 자료형의 경우에는 값 손실이 발생할 수도 있음. )
2. 강제 형 변환 ( 명시적 형 변환 )
- 사용자(프로그래머)가 특정한 명령을 통하여 강제적으로 형을 변환시켜 사용하는 방식
- 괄호"()"를 통하여 명시적으로 알려줍니다.
예시 |
| |||
|
- 5번 라인의 int(정수)형 a와 double(실수)형 b를 덧셈하여 int(정수)형 Sum에 저장하는 코드이다.
- 7번라인을 확인하면 b의 앞에 "(int)" 가 붙어있는 것이 보이는데 이렇게 되면 연산시에
- b는 5.5가 아닌 int(정수)형의 5가 되어 계산을 하게 됩니다.
- 자동형변환의 경우에는 알아서 해주니 크게 신경안쓰더라도 강제형변환은 상당히 많이 쓰이니 기억해두자!
'Dev > [C]개념정리' 카테고리의 다른 글
[개탱][C][5.입출력 & 문자 표준 입출력][수정중] (0) | 2017.12.22 |
---|---|
[개탱][C][4.입출력 & Stream] (0) | 2017.12.22 |
[개탱][C][3.변수와 상수] (0) | 2017.12.22 |
[개탱][C][1.Data Type & 데이터 타입] (0) | 2017.12.21 |