무효 theFunc (INT 인분 &는 INT에서 * 어레이) 기준 및 배열 포인터에 의해 나타내는 int 취하는배열을 참조하여 스택 할당 인자를 전달 I 함수가
theFunc(int num&, int* array)
{ array[0] = num;
}
이 말한다 단지 일례 함수는 단순한 작업을 수행하므로
int main()
{ int k = 3;
int* theArray = new int[5];
theFunc(k, theArray);
delete[] theArray;
return(0);
}
질문은 K, 스택 할당 INT 인스턴스 theFunc 참조로 전달 동적 저장 배열에 저장하는 방법이다. 스택/힙 사이에는 특정 저장된 메모리 주소가 있기 때문에 객체/인수가 이동할 수 없다는 것을 알고 있습니다. 나는 이것이 왜 작동하는지 이해하고 싶다. 그리고 두포에서 무슨 일이 일어나고 있는지 (이 경우에는 값을 매기는 것과 차이가있다)도 알고 싶다.
감사합니다.
스택 변수에는 메모리 주소도 있습니다. 주소는 힙 주소와 같은 방식으로 함수에 전달됩니다. –
또 다른 요점은'k'의 _value_가'array [0]'에 _copied_가되었습니다. – qxz
'int num &'은 구문 오류입니다. 또한'theFunc'에는 리턴 타입이 있어야합니다. 실제 코드를 게시하십시오. –