반응형

C언어는 동일한 자료형끼리 연산이 가능하다. 만약 서로 다른 자료형끼리 연산을 한다면 서로 데이터크기(byte)가 다르기 때문에 오차가 발생하여 연산이 불가능하다.

그래서 접미구에 자료형을 붙여 정확한 연산을 할 수 있다. (아래 참고)

https://ansan-survivor.tistory.com/1222

 

[C언어] C언어 소수 자료형 float와 double의 차이점. ('double'에서 'float'(으)로 잘립니다.)

일반적으로 C언어에서의 소수점 자료형 표현은 float와 double을 쓴다. 그런데 크기는 float가 작고, double이 크다. 다시말해 double이 표현할 수 있는 소수점 자리가 많다. (double > float) 그러나 기본적으

ansan-survivor.tistory.com

만약 int a = 3.0 또는 double b = 5를 넣는다면, 자료형이 맞지 않아도 알아서 출력이 된다.

3.0 은 기본적으로 "double" 자료형이지만, a는 int 자료형이기 때문에 자동으로 int로 변환되어 3이 출력된다.

마찬가지로 아래 5도 int 이지만, b가 double이기 때문에 5.000000 으로 출력된 것이다.

 

하지만 C언어에서는 강제로 형변환하는 기능이 있다.

매우 간단하다 그저 앞에 괄호 + 자료형 을 추가하면 된다.

-> (자료형)변수

-> (자료형)값

#include <stdio.h>

int main(void)
{
	// 강제로 형 변환하기
	int a = (int)3.0;
	double b = (double)5;
	
	printf("%d, %f", a, b);

	return 0;
}

 

<알아두기>

 - 바이트가 큰 자료형이 우선시 된다. ( 크기가 큰거(double)와 작은게(int) 있을 때 큰것으로 바뀜 )

 

 

 

반응형

+ Recent posts