안녕하세요.
c++을 공부하다가 이해가 잘 안가는 부분이 있어
이렇게 여쭙습니다.
아래 예제 4가지가 있습니다.
그것 각자에 대한 자세한 설명을 통해, 둔한 제 머리를
녹여주신다면 너무나 감사하겠습니다.
예문1)
int gorp= 16;
int chips= 12;
const int *p_snack= &gorp;
^헷갈림1) *p_snack= 20; --> 허용되지 않음.
(책의 설명: p_snack이 가리키는 값의 변경을 허용하지 않음)
^헷갈림2) *p_snack= &chips; --> 허용가능.
(책의 설명: p_snack은 다른 변수를 가리킬 수 있다.)
예문2)
int gorp= 16;
int chips= 12;
int *const p_snack= &gorp;
^헷갈림3) *p_snack= 20;
(책의 설명: p_snack은 값을 변경하는 데 사용할수 있다.)
^헷갈림4) *p_snack= &chips;
(책의 설명: p_snack이 가리키는 변수의 변경을 허용하지 않음)
위 4가지의 경우에 있어 매우 헷갈림이 반복됩니다.
부디 저의 아둔한 머리를 녹여주실 분을 기다립니다.
특히 const int~와 int *const를 비교해 주세요...
|