컴퓨터 사이언스/C언어
[C언어] & 연산자 (Ampersand, 앰퍼샌드)
메리뉴데이
2020. 8. 9. 22:10
1) & 연산자가 1개이면 비트 연산자 AND를 나타낸다.
비트 연산자는 정수형 자료에서만 사용이 가능하다.
이때, & 연산자는 0과 1의 2진수로 되어 있는 비트 단위의 연산을 수행하는데,
대응되는 두 bit가 모두 1일 때만 결과가 1이다.
예를 들어,
x: 1 0 0 1 0 1 0 1
y: 0 1 0 0 1 1 1 1
로 저장되어 있다고 하자.
그러면, x & y는 (x와 y를 &연산 하면)
0 0 0 0 0 1 0 1 이 된다.
2) & 연산자가 2개이면 논리연산자 AND를 나타낸다.
&&는 논리곱(AND)이라고 하며, 양쪽 모두 참일 때만 참이다.
예를 들어,
a: 참
b: 거짓
c: 참
이라고 하자.
그러면, a && b는 거짓이 되고,
a && c는 참이 된다.
C등 여러 프로그래밍 언어에서 주로 AND 연산자로 사용된다.
3) & 연산자가 단항 연산자(1개의 자료만을 대상으로 산술적인 처리를 수행)로 쓰이면,
변수의 주소를 나타낸다.
int var = 17;
int * ptr = &var;
이라고 하면, (포인터)변수 ptr에는 변수 var의 주소가 담겨 있는 것이다.