Int num = 10;
int * ptr = #
*ptr = 20;
여기서 *ptr = 20 말입니다.
교재에서는 *ptr 이 해석을
포인터 변수 ptr이 가리키는 메모리 공간인 변수 num에 접근을 해서..
라고 적혀 있는데
정확한 *ptr = 20의 뜻은
그냥 포인터 변수 ptr의 주소값에 접근해서 20을 넣어라(초기화하라) 아닙니까?
Int * ptr = # 여기에서
이미 num의 주소값을 반환에서 ptr에 \'저장(초기화)하였고,
그렇기에 ptr의 주소값과 num의 주소값은 똑같은 주소값을 가르키는 것 아닙니까?
그 뜻이 그 뜻이겠지만
*ptr = 20;에서 *ptr 정확한 내용은
ptr은 num을 가르키고
보다는
ptr의 주소값을 참조하라. 가 정확한 뜻 아닙니까?
int * ptr = #
*ptr = 20;
여기서 *ptr = 20 말입니다.
교재에서는 *ptr 이 해석을
포인터 변수 ptr이 가리키는 메모리 공간인 변수 num에 접근을 해서..
라고 적혀 있는데
정확한 *ptr = 20의 뜻은
그냥 포인터 변수 ptr의 주소값에 접근해서 20을 넣어라(초기화하라) 아닙니까?
Int * ptr = # 여기에서
이미 num의 주소값을 반환에서 ptr에 \'저장(초기화)하였고,
그렇기에 ptr의 주소값과 num의 주소값은 똑같은 주소값을 가르키는 것 아닙니까?
그 뜻이 그 뜻이겠지만
*ptr = 20;에서 *ptr 정확한 내용은
ptr은 num을 가르키고
보다는
ptr의 주소값을 참조하라. 가 정확한 뜻 아닙니까?
꼮꼮 부탁드립니다
*ptr이 화살표라고생각해봐. *ptr은 #을 가르키고있어. *ptr = 20;은 *ptr이(화살표가) 가르키는곳 = 20 ; 즉 #의 값이 20이되게 한다는거고...어렵게생각안해도될거같은데
포인터연산의 단항연산자 * 는 indrection 혹은 dereference 다. 그 말은 참조(reference)란 말이 약간은 부적절 하다는거야. 차라리 한글로 하면 역참조가 되긴 하는데, 나는 content of pointer 로 해석해왔다.
이해는 되는데, *연산자의 정확한 근본 개념을 이해하고 싶어서.. ㅠ 맨 마지막 질문한 게 프로그래밍 진행상 두 개는 같은 뜻이겠지만 근본적으로는 후자가 더 정확한 말이지여?
c언어 20일차가 말해준다. 네말이 맞어! 결국 둘다 같은말이야
~~ 가 가리키는 곳의 내용.
감사영