작성
·
174
0
함수 dosomething으로 전달된 students_scores의 주소를
cout << (int)&students_scores 로 출력하면 나오는 주소는 students_scores의 주소가 맞는지요?
함수로 전달된 students_scores가 이미 pointer인데 여기에 '&'를 붙여서 출력하면 students_scores의 주소가 아닌 함수의 argument주소값이 출력되는 것이 아닌지요?
cout <<(int)students_scores 로 출력하면 main()에서 선언된 students_scores 와 같은 주소가 출력됩니다.
답변 3
0
5분 28초 이야기하시는 거군요. 저도 질문을 곰곰히 읽어보니 저랑 같은 문제를 겪으신 것같네요.
혹시 cout << (int)&students_scores << endl; 이렇게가 아닌 cout << (int)&students_scores[0] << endl;으로 해서 출력을 하셨나요? 원래 배열자체와 매개변수로 들어간 배열자체의 주소를 찍으면 영상처럼 주소가 다르게 나옵니다. 하지만 배열의 인덱싱을 붙이고 출력을 하니 둘다 같은 주소값을 가지더군요. 혹시 이걸 말하시는 건 아니신지?
0
0
정확히 어디를 얘기하시는지는 모르겠는데, 포인터 변수도 주소를 저장하는 변수라는 점을 한 번 더 생각해보시는 것이 좋겠네요. 지금 헷갈려하시는 부분을 잘 이해해두시면 이후에는 크게 도움이 될겁니다.