이번 수업(CS-DRIVEN INSIGHT, teacher: @UHD)의 주제는 포인터였다.
CPU의 아키텍처에 대해 생각해 보면 좋다.
Q. 32bit CPU와 64bit CPU 사이에는 어떤 차이가 있을까?
포인터 변수를 다뤄보며 포인터가 무엇을 의미하는지 생각해 보자.
char a = 'A';
char *pa = &a;
위 두 변수가 메모리의 Stack Segment에 쌓인 모습을 상상해 보면 다음과 같다. 설명의 편의상 변수 a
의 주소는 임의로 0x09라 하자.
a
에 해당하는 공간에는 그 ASCII 코드 값인 65가 저장되고, pa
에 해당하는 공간에는 a
의 주소인 0x09가 저장된다.
Q. 새로운 포인터 변수
pb
에pa
를 할당한다면,pb
와*pb
의 출력 결과는?