[C]변수와 연산자(3)
형 변환
서로 다른 자료형 데이터끼리 연산을 하면 데이터의 손실이 발생할 수 있기 때문에 형 변환을 이용한다. 형 변환은 연산에 국한해 서로 같은 자료형인 것 처럼 계산하는 것이다. ( 실제로는 이미 자료형만큼의 byte가 메모리상에 할당되어있기 때문에 변경하는 것은 굉장히 까다로운 일이라고 한다)
1. 묵시적 형 변환
컴파일러가 자동적으로 수행하는 형 변환으로, 데이터의 손실이 최소화되는 방향으로 이루어진다.
char -> short -> int -> long -> float -> double -> long double
2.명시적 형 변환
타입 캐스트 연산자를 통해 프로그래머가 직접 형 변환을 시킨다. 변수나 값 앞에 (자료형)을 사용한다.
int a=4;
int b=5;
double d = (double)a/b;
*위와 달리 묵시적 형 변환을 이용할 시, int 끼리의 계산이 끝나면 소수점을 저장할 수 있는 비트필드가 없어 0이 반환된다.
연산자
1. 산술연산자
두 개의 피연산자를 가지는 이항 연산자이며, 왼쪽에서 오른쪽으로 결합된다. 예로 들어, +의 경우 왼쪽의 피연산자에 오른쪽의 피연산자를 더한다.
2. 대입연산자
변수에 값을 대입할 때 사용하는 이항 연산자이며, 오른쪽에서 왼쪽으로 결합된다. 예로 들어, =의 경우 왼쪽의 피연산자에 오른쪽의 피연산자를 대입한다.
3.증감연산자
특정 동작이 끝났을 때, 카운트 변수의 값을 증가시키는 용도로 반복문과 알고리즘 등에 사용된다. (), [], .(구조체의 멤버변수 접근), -> 를 제외하면 가장 높은 우선순위를 갖는 단항연산자이다.