카테고리 없음

[C언어] 캐스팅(cast) 연산자

s뽈록이s 2013. 5. 3. 12:54
void main()
{
	int a, b;
	double su;

	a = 5;
	b = 2;

	su = a / b;
	printf("su = %lf\n", su);

	su = (double)a / b;
	printf("su = %lf\n", su);
}

프로그램 실행화면


쉽게 지나칠 수 있는 캐스트 연산자가 있다. 캐스팅(casting)이라고도 한다. 쉽게 말해서 형변환을 해준다. int형의 두 변수를 나누어 주면 소수자리 값이 생기는 경우가 많다.


이럴 때 캐스팅을 해주지 않으면 소수점 값의 사라져버려 오답의 결과가 나올 수 있다. int형 변수를 나눌 때에는 꼭 double로 형변환(캐스팅) 한 후 double형 변수에 저장해 주어야한다.


캐스팅을 하지 않은 첫 번째 su의 값은 2이지만 캐스팅을 한 두 번재의 경우는 정확히 2.5가 출력되는 것을 알 수 있다. 알아서 형변환 해주면 좋을텐데 말이다.