작성
·
183
0
강의를 보고 함수의 매개변수는 그 값을 새로 생성해서 배열을 복사 받는다고 이해했습니다
그런데 왜 배열의 시작 주소는 다른데 배열내부에 값들의 주소는 같은 건가요?
답변 2
0
강의에서
void dosomthing(int student[])
{
cout << &student << endl;
cout << &student[0] << endl;
cout << &student[1] << endl;
cout << &student[2] << endl;
cout << &student[3] << endl;
cout << sizeof(student) << endl;
}
저기 위에서 &student 와 &student[0] 가 다른것이 이해가 안됩니다
보통 배열의 첫번째 주소가 시작 주소라고 알고 있는데...
0
정확히 어디를 얘기하시는지 모르겠는데, 포인터로 넘긴다면 주소를 저장하는 변수의 주소는 달라지지만 주소 자체는 유효하기 때문에 데이터는 여전히 힙 메모리의 같은 곳에 존재합니다. 뒤에 7.10 스택과 힙 강의도 중요하니까 꼭 보시길 바래요.