[C] 연산자 - kyeom

2022. 11. 16. 11:00C언어/기본 개념

728x90

형 변환 연산자

(자료형)피연산자

(double)10 >> 10

(int)10.2 >> 10

	int a;
	double res;

	res = 10.2;
	a = (int)res;
	printf("%d", a);
    
    >>> 10

변수 앞에 어떤 자료형으로 바꿀지 작성해준다.


sizeof 연산자

	int a, b;
	double res;

	res = 10.2;
	printf("%d", sizeof res);
    
    >>>8

바이트 단위로 계산하여 크기를 출력한다.


복합대입연산자

	int a = 10, b = 20;
	int res = 2;

	a += 20;
	res *= b + 10;

	printf("a = %d, b = %d\n", a, b);
	printf("res = %d", res);
    
>>>a = 30, b = 20
res = 60

a는 +20을 해서 a에 저장하는 연산자다.

res는 b+10 값을 res에 곱해서 저장하는 연산자다.


콤마연산자

	int a = 10, b = 20;
	int res = 2;
	
	res = (++a, ++b);
	printf("res : %d", res);
    
>>>res : 21

콤마 연산자는 대입 연산자(=)보다 우선 순위가 낫다 그렇기 때문에  ++a, ++b 괄호 없이 작성할 경우 ++a의 값이 저장된다.

조건연산자

	int a = 10, b = 20, res;

	res = a > b ? a : b;
	printf("큰 값 : %d", res);
    
>>>큰 값 : 20

조건식이 참이면  a : b에서 중 a를 선택, 거짓이면 b를 택한다.


비트별 연산자

^, |, ~

^는 서로 다를 경우만 1로 계산

|는 둘 중 하나만 참이면 1로 계산

~는 1을 0으로 0은 1로

728x90