파게로그
연산자 본문
| 우선순위 | 연산자 | 설명 | 연산자 결합 법칙 |
| 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