3-8 형변환

 실행 중에 데이터의 타입을 변경하는 것으로 

처리중 데이터가 많아져서 short형의 변수에 들어 있던 값을 int형의 변수로 이동 가능하다. 이러한 형변환을 잘못사용하면 데이터가 손실되므로 주의하자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    char c;
    int i;
    float f;
 
    c = 10000;
    i = 1.23456 + 10;
    f = 10 + 20;
 
    printf("c = %d, i = %d, f = %f \n", c, i, f);
    return 0;
}
cs

형변환 예시출력1

c = 16, i = 11, f = 30.000000 

D:\[work]\Visual Studio\Project2\Debug\Project2.exe(12624 프로세스)이(가) 0 코드로 인해 종료되었습니다. 

이 창을 닫으려면 아무 키나 누르세요. 


명시적인 형변환

때에 따라서는 명시적으로 형을 변환하여야 하는 경우도있다. 이런 경우에 사용하는 연산자가 형변환 연산자이며, 사용법은

1
2
3
(int)1.23456 // int형으로 변환
(double)x
(long) (x+y)
cs

와 같다. 1.23456을 정수형으로 변환하고싶을때(int)1.23456 를 사용하며 (int)1.23456 의 값은 정수1이 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
 
int main()
{
    int i;
    double f;
 
    f = 5 / 4;
    printf("%f\n", f);
 
    f = (double)5 / 4;
    printf("%f\n", f);
 
    f = 5.0 / 4;
    printf("%F\n", f);
 
    f = (double)5 / (double)4;
    printf("%f\n", f);
 
    i = 1.3 + 1.8;
    printf("%d\n", i);
 
    i = (int)1.3 + (int)1.8;
    printf("%d\n", i);
 
    return 0;
}
cs

계산기 실행


'C 프로그래밍 > 3. 수식과 연산자' 카테고리의 다른 글

3-9 연산자의 우선순위와 결합 규칙  (0) 2019.05.16
3-6 콤마 연산자 , 3-7 비트 연산자  (1) 2019.05.14
3-5 조건 연산자  (0) 2019.05.14
3-4 논리 연산자  (0) 2019.05.14
3-3 관계 연산자  (0) 2019.05.14