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
.