파게로그
연산자 본문
우선순위 | 연산자 | 설명 | 연산자 결합 법칙 |
1 | ++ -- | 후위 증감 연산자 | → |
() | 함수 호출 | ||
[] | 배열 첨자 | ||
. | 구조체, 공용체 멤버 접근자 | ||
-> | 구조체, 공용체 멤버 접근자(포인터) | ||
2 | ++ -- | 전위 증감 연산자 | ← |
+ - | 단항(unary) 연산자 | ||
! ~ | 논리/비트 부정(NOT) 연산자 | ||
(자료형) | 자료형 캐스팅 | ||
* | 역참조(간접참조) | ||
& | 주소(address-of) | ||
sizeof | 피연산자의 크기(size-of) | ||
3 | * / % | 곱하기, 나누기(몫), 나머지 | → |
4 | + - | 덧셈, 뺄셈 | → |
5 | << >> | 왼쪽, 오른쪽 비트 이동 연산자 | → |
6 | < <= | 비교 연산자 | → |
> >= | |||
7 | == != | 비교 연산자 | → |
8 | & | 비트 AND 연산자 | → |
9 | ^ | 비트 XOR 연산자 | → |
10 | | | 비트 OR 연산자 | → |
11 | && | 논리 AND 연산자 | → |
12 | || | 논리 OR 연산자 | → |
13 | ?: | 삼항(tenary) 연산자 | ← |
14 | = | 대입 연산자 | ← |
+= -= | 덧셈, 뺄셈 후 대입 | ||
*= /= %= | 곱셈, 나눗셈(몫), 나눗셈(나머지) 후 대입 | ||
<<= >>= | 비트 이동 후 대입 | ||
&= ^= |= | 비트 연산 후 대입 | ||
15 | , | 콤마 | → |
f() + g() * h()에서 함수 호출 순위는 관련이 없음
sizeof
sizeof()는 피연산자의 크기를 바이트로 반환해주는 연산자.
C에서 바이트의 크기는 char의 크기이므로.. sizeof(char)는 무조건 1
sizeof(char_arr)는 배열의 바이트 크기 반환
- 함수가 아니라 연산자이며, 실행 중이 아니라 컴파일 중 평가된다.
- 컴파일할 때 모르는 크기는 찾아줄 수 없음
- 부호 없는 정수형의 상수를 반환하는데 size_t형임
size_t get_char_array_size(char data[])
{
return sizeof(data);
}
int main(int argc, char** argv) {
char char_array[30];
size_t size_array = sizeof(char_array); /* 30 */
size_t size_array_2 = get_char_array_size(char_array); /* 4 */
return 0;
}
역 참조 연산자 *
int num=10;
int* p = # /* 역 참조 연산자 X. 포인터 변수 선언 O */
int num1 = *p; /* 역 참조 연산자 O */
'콤퓨타 왕기초 > C' 카테고리의 다른 글
bool expression (0) | 2021.03.10 |
---|---|
size_t (0) | 2021.03.10 |
C89(C90)에서의 변수 선언 위치 (0) | 2021.03.09 |
열거형 (0) | 2021.03.09 |
자료형 (0) | 2021.03.08 |
Comments