C Operator - sonkoni/Koni-Wiki GitHub Wiki
Operator | Precedence | sizeof | Bitwise
+a ๋จํญ ๋ง์
(์์ ๋ถํธ)
-a ๋จํญ ๋บ์
(์์ ๋ถํธ)
a + b ๋ง์
a - b ๋บ์
a * b ๊ณฑ์
a / b ๋๋์
a % b ๋๋จธ์ง
~a ๋นํธ NOT
a & b ๋นํธ AND
a | b ๋นํธ OR
a ^ b ๋นํธ XOR
a << b ๋นํธ ์ผ์ชฝ ์ฌํํธ
a >> b ๋นํธ ์ค๋ฅธ์ชฝ ์ฌํํธ
ํ ๋น๊ฐ์ ๋ฐํํ๋ค.
a = b ํ ๋น
a += b a = a + b
a -= b a = a - b
a *= b a = a * b
a /= b a = a / b
a %= b a = a % b
a &= b ๋นํธ์ฐ์ฐ a = a & b
a |= b ๋นํธ์ฐ์ฐ a = a | b
a ^= b ๋นํธ์ฐ์ฐ a = a ^ b
a <<= b ๋นํธ์ฐ์ฐ a << b
a >>= b ๋นํธ์ฐ์ฐ a >> b
์ ํ์ด ์ฐธ์ด์ด์ผ ํํ๋ ํ๊ฐ๋๋ค.
!a ๋
ผ๋ฆฌ NOT
a && b ๋
ผ๋ฆฌ AND
a || b ๋
ผ๋ฆฌ OR
๋ถ๋ฆฐ์ ๋ฐํํ๋ค.
a == b ๊ฐ์
a != b ๋ค๋ฆ
a < b a ๊ฐ ์์
a > b a ๊ฐ ํผ
a <= b a ๊ฐ b ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์
a >= b a ๊ฐ b ๋ณด๋ค ํฌ๊ฐ๋ ๊ฐ์
a[b] ๋ฐฐ์ด ์๋ธ์คํฌ๋ฆฝํธ
*a ํฌ์ธํฐ ์ญ์ฐธ์กฐ
&a ์ฃผ์
a.b ๊ตฌ์กฐ์ฒด/๊ณต์ฉ์ฒด ๋ฉค๋ฒ์ ๊ทผ
a->b ํฌ์ธํฐ๋ก ๊ตฌ์กฐ์ฒด/๊ณต์ฉ์ฒด ๋ฉค๋ฒ์ ๊ทผ
a++ postfix ๊ตฌ๋ฌธ์ ๋ฒ์ด๋๋ฉด, a์ 1์ด ์ฆ๊ฐํ๋ค.
a-- postfix ๊ตฌ๋ฌธ์ ๋ฒ์ด๋๋ฉด, a์ 1์ด ๊ฐ์ํ๋ค.
++a prefix a์ 1์ ์ฆ๊ฐ์ํจ ๋ค, ๊ตฌ๋ฌธ์ ๋ฒ์ด๋๋ค.
++b prefix a์ 1์ ๊ฐ์์ํจ ๋ค, ๊ตฌ๋ฌธ์ ๋ฒ์ด๋๋ค.
func(...) ํ์
์ฝ
a, b ์ปด๋ง ์ฐ์ฐ
(type)a ํ์
์บ์คํธ
a ? b : c ์ผํญ์ฐ์ฐ์
sizeof a ์๋ฃํ์ ํฌ๊ธฐ
_Alignof(type) ํ์
์ ์ ๋ ฌ ํฌ๊ธฐ
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 10;
printf("=> %d\n", a += 10);
// โฒ -------
// โโโโโโโโโ 20
return 0;
}
// => 20#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 0; int b = 1;
// โโถ a๊ฐ ๊ฑฐ์ง์ด๋ฏ๋ก b๋ ํ๊ฐํ์ง๋ ์๋๋ค.
if (a && b) {
printf("Both True\n");
}
return 0;
}
// => 20#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 5; int b = 4;
printf("result: %d, %d", (a == b), (a - 1 == b));
// -------- ----------
// 0 โโ 1 โโ
return 0;
}