C 프로그래밍 언어에서 포인터가 어떻게 사용되는지 살펴 보겠습니다.
우리는 두 가지 변수를 다룰 것입니다.
aptr
또한 두 가지 주요 문자를 만날 예정입니다.
- where would return the address location of variable - where means follow the memory address stored in ptr and set that location to 8
a는 메모리의 주소 0x8130 및 0x8134의 ptr에 있습니다. 또한 int가 32 비트 인 32 비트 시스템이라고 가정합니다. 다음은 다음 코드 스 니펫이 실행 된 후 메모리에 저장됩니다.
int a = 5;int *ptr = NULL;
| 주소 | 목차 |
|---|---|
| 0x8130 | 0x00000005 |
| 0x8134 | 0x00000000 |
(여기에 표시된 NULL 포인터는 0x00000000입니다.) a의 주소를 ptr :
ptr = &a;
는 다음 메모리 값을 생성합니다.
| 주소 | 내용 |
|---|---|
| 0x8130 | 0x00000005 |
| 0x8134 | 0x00008130 |
그런 다음 코딩하여 ptr를 역 참조합니다.
*ptr = 8;
컴퓨터가 ptr (0x8130)의 내용, 해당 주소를 “찾고”해당 위치에 8을 할당하여 다음 메모리를 생성합니다.
| 주소 | 목차 |
|---|---|
| 0x8130 | 0x00000008 |
| 0x8134 | 0x00008130 |
분명히 a에 액세스하면 이전 명령이
포인터를 통해 ptr.