'가리킨다'라고 설명하는게 유효하고 효율적인 설명인지 모르겠음.
그냥 컴퓨터가 주소값을 바탕으로 변수를 제어하는 개념일 뿐이지 않나요?
가리킨다는 개념 자체도 실제로 가리키는게 아니라 사실상 주소값을 담아놨을 뿐인데, 그걸 추상화된 표현과 섞어서 설명하니까
처음 배우는 사람 입장에서는 존나 헷갈리는듯;
'주소값을 저장하다'라는 개념과 '가리킨다' 라는 개념이 섞이기 시작하면서 다중 포인터로 들어가면 이게 씨발 뭔 소리야 하면서 대가리 터지는듯;
제가 생각하기에는 '주소값 저장'
이 개념 하나만 머리에 박아놔도 충분할 것 같은데..
가리킨다는 개념은 뭔가 본질적이지 못 하고 동떨어진 느낌이 듦.
어떻게들 생각하세요?
너는 포인터를 반만 이해하고 있다
ㄴ 왜요? 사실 반도 이해 못함
포인터를 이해하려면 컴퓨터랑 같이 배워야징~ 어셈블리까지는 아니더라도. 작성된 소스코드가 어떻게 기계어로 번역되고 메모리에 적재되어 사용되는지 알지 못하면 계속 뜬구름만 잡음.
포인터는 변수에 담긴 주소값을 통해서 original을 건드려야 의미가 있는거지, 단순히 주소값을 가지고 있기만 해서는 의미가 없어요.
가리킨다는 성질 없이 주소값 저장만 머리속에 있다면 포인터는 그저 변수랑 별 다를 바가 없습니다. 변수에 int나 float 등등 여러 자료형을 담을 수 있듯, address라는 자료형을 추가로 담을 수 있게 되었을 뿐이죠
다른 변수도 사실은 ar에 주소값 넣고 접근하는거임.
가르킨다 라는 표현이 추상적인 설명인건 맞음.
애초에 ar에 주소값을 올리고 어드레스 버스로 메모리에 넘겨서 데이터 받아오는거니까 가르키는 행동은 어디에도 없음.
그냥 c에서 주소값에 의한 접근을 가리킨다라고 추상적으로 설명하는거지 cpu 내부적으로 가리키는 행위는 없음. 주소값으로 논리연산해서 해당 메모리에 접근할 뿐.
?? 일어나보니 웬 또 개소리들이... 윗글에서 문제가 되는 "가르킨다"...는 좆번역의 문제가 제일 큼... 영어권 화자에게는 이보다 확실한 개념정리가 없어요.
헬조센 닝겐들은 "무엇을" 가르킨다...라고 이해하나 본데, 영어문장 원본으로 보면 "무엇"이 어떤것을 가르킨다. 가 됩니다. 그러니까 어떤 변수가 있는데 그 변수의 값이 다른 변수의 주소를 가르킨다. 라는 문장임...
한줄요약: 탈조센만이 답이다
하긴 C는 Call by value만 기본적으로 지원하니..
저도 그냥 주소값을 저장하는거라고 생각하고 쓰고있네요. 가리킨다 라고 하면 헷갈리기만 한듯. 어셈블리도 그냥 레지스터에 주소값 넣어서 그 주소에 접근해서 써먹는건 똑같던데 다른 개념이 뭐가 있나?