생선이의 잡다한 블로그

C언어 강좌 30 - 자료형 변환 본문

프로그래밍/C언어 강좌

C언어 강좌 30 - 자료형 변환

생선스프 2018. 2. 9. 21:00
반응형

안녕하세요 생선스프입니다!


이번 강좌에서는 자료형 변환을 알아보려고 합니다


자료형 변환은 변수의 자료형이 다른 자료형으로 바뀌는 것을 말합니다


#include <stdio.h>
 
void main()
{
    int num1 = 3;
    float num2 = num1;
 
    printf("%f", num2);
}
cs


위의 코드를 보면 int형의 값을 float에 넣어주고 있습니다.


이런 경우에는 자료형의 크기가 작은 것을 큰 곳으로 넣어주는 것이라 아무런 문제가 없습니다.


하지만 반대로 아래와 같이 자료형의 크기가 큰 것을 작은 곳에다가 넣을때는 경고문과 함께 값이 손실됩니다


#include <stdio.h>
 
void main()
{
    float num1 = 3.01;
    int num2 = num1;
 
    printf("%d", num2);
}

cs


warning C4244: '초기화 중': 'double'에서 'int'(으)로 변환하면서 데이터가 손실될 수 있습니다.


그래서 아래와 같이 명시적 자료형 변환을 하여 이 경고문을 안뜨게 할 수 있습니다


#include <stdio.h>
 
void main()
{
    float num1 = 3.01;
    int num2 = (int)num1;
 
    printf("%d", num2);
}
cs


그리고 정수형끼리 나눗셈을 한 결과를 소수점까지 알고싶을때도 아래와 같이 사용이 가능합니다.

#include <stdio.h>
 
void main()
{
    printf("%f", (float)3/2);
}

cs



이번 강좌는 여기서 마치도록 하겠습니다.


공감과 댓글은 생선에게 힘이됩니다!

더 많은 C언어 강좌

반응형
Comments