먼저 변수라는 것을 설명해야 이번 포인터라는 것을 설명이 쉽게 가능하기 때문에 일단 변수를 다시 정의하도록 하겠습니다.
변수라는 것을 선언하면 컴퓨터는 정보를 저장할 공간을 마련합니다.
그 공간이라는 녀석은 메모리라고 불립니다.
그 메모리라는 녀석에게 이름을 붙여서 이 int형 변수는 어디에 할당이 되었는지 알려주는 것을 포인터라고 하는 것 입니다.
그러면 이해하기 편하게 설명을 추가적으로 하자면 도로명주소와 비슷하게 바둑판식 느낌의 공간에게 주소를 붙여서 찾기 쉽게 만드는 것입니다.
그러면 포인터에 관하여 간단하게 접해보는 것으로 하겠다.
1 2 3 4 5 6 7 8 | int main() { int nm = 8; int * pnm; pnm = &nm; printf("%d", &nm); printf("%p", &pnm); return 0; } | cs |
이 코드로 하는 것입니다.
그러면 다시 분석을 하는 시간으로 돌아가보도록 하겠습니다.
간단하게 설명을 하자면 int nm 이것은 아실 겁니다.
하지만, int * pnm; 이것은 무엇인가 하실 것 같은데 이거는 pnm이라는 포인터 변수를 선언하는 것으로 그냥 선언문 입니다.
그리고 pnm = &nm; 이것은 선언된 포인터 변수에 nm의 포인터 값을 저장하는 것입니다.
또 %p라는 것은 %d와 비슷한 서식 문자로 나중에 다시 거론을 하도록 하겠습니다.
그냥 포인터라는 것은 변수의 주소와 비슷하다라고 생각을 하면 이해하기가 편하리라고 생각을 합니다.
저 코드로 출력이 되는 값은 직접 확인해 보는 것을 저는 추천합니다.
그럼 저는 다음 강좌시간에 찾아 뵙도록 하겠습니다.
감사합니다!!!! ^^
'프로그래밍일지 (고등학생 - 인문계) > C' 카테고리의 다른 글
'포인터 형'이 다양한 이유는...? (0) | 2018.04.10 |
---|---|
포인터 연산자라는 녀석을 알아보자 (0) | 2018.04.09 |
배열...? 그게 뭐죠?? (1) | 2018.03.19 |
매번 다른 값을 나오게 해보자! (0) | 2018.03.17 |
return 반환하자! (0) | 2018.03.13 |