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의 주소가 담겨 있는 것이다.
'컴퓨터 사이언스 > C언어' 카테고리의 다른 글
[C언어] 포인터 사용시 주의해야할 점: 포인터 변수의 초기화 (0) | 2020.08.10 |
---|---|
[C언어] 포인터가 가리키는 메모리를 참조하는 * 연산자 예제 (0) | 2020.08.10 |
[C언어] 포인터 변수에 있어 자료형의 의미 2 (0) | 2020.08.09 |
[C언어] 포인터 변수에 있어 자료형의 의미 1 (0) | 2020.08.09 |
[C언어] 포인터 변수 선언하기(C pointer) (0) | 2020.08.09 |