1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <stdio.h>
int main(void) {
int num1 = 100, num2 = 100; // 변수 num1과 num2를 선언하고 각각 100으로 초기화
int * ptr; // 포인터 변수 ptr을 선언
ptr = &num1; // 포인터 ptr이 num1을 가리키게 함
(*ptr) += 20; // num1 += 20 과 동일
ptr = &num2; // 포인터 ptr이 num2를 가리키게 함
(*ptr) -= 20; // num2 -= 20과 동일
return 0;
}
|
cs |
이 소스코드에서
num1은 100에서 20이 증가된 120으로 다시 저장되고,
num2는 100에서 20이 감소된 80으로 다시 저장되게 된다.
여기서의 핵심은,
ptr이 포인터로서 각각의 변수를 가리키면서 * 연산자를 통하여 가리키고 있는 변수의 메모리에 접근하여
*ptr이 가르키고 있는 변수 num1과 num2와 같이 쓰였다는 것이다.
더불어 한 포인터가 가리키는 변수를 변경(num1->num2) 할 수 있다.
'컴퓨터 사이언스 > C언어' 카테고리의 다른 글
[C언어]포인터 VS 배열에 대하여: 변수 VS 상수 (0) | 2020.08.10 |
---|---|
[C언어] 포인터 사용시 주의해야할 점: 포인터 변수의 초기화 (0) | 2020.08.10 |
[C언어] & 연산자 (Ampersand, 앰퍼샌드) (0) | 2020.08.09 |
[C언어] 포인터 변수에 있어 자료형의 의미 2 (0) | 2020.08.09 |
[C언어] 포인터 변수에 있어 자료형의 의미 1 (0) | 2020.08.09 |