C++ 배열에 대한 학습을 강화하지 않았으며이를 올바르게 수행하는 방법을 잊어 버렸습니다. 전에 char 배열을 사용했지만 int 배열에서도 작동하지 않습니다.int 배열에 대한 포인터, 다른 메서드에서 전달 및 사용
int myIntArray[10];
그래서이 정확한 순간에 널 (null)의 배열한다 :
나는 비어있는 새 int 배열을 선언? 은 그 때 나는이 배열에 대한 포인터를 할당합니다int *pMyArray = myIntArray
희망
거기에 그게 올바른.
은 그 때 나는 다른 곳에서 다른 방법으로이 문제를 전달합니다
나는 (내가 정말 모르겠어요 곳이다) 지역 변수로이 포인터를 할당 할anotherMethod(pMyArray)
:
anotherMethod(int *pMyArray){
int myLocalArray[];
myLocalArray[0] = *pMyArray;
}
컴파일 오류가 발생하지는 않지만 몇 가지면에서 맞는지 확신 할 수 없습니다. 모든 도움과 조언을 부탁드립니다.
편집 :
나는 무엇을하려고 했어야 했습니까?
매우 간단하지만 실제로는 다른 방법으로 로컬 배열을 수정하고 싶습니다. 그래서
I가 가지고
방법 1 포함될 것이다 :
INT의 myArray1을 [10] = {0};
방법 2에서 myArray 포인터를 전달 될 것입니다 :
그런 다음 몇 가지 코드가 배열에서 myArray의 변수를 수정할 수 있습니다.
대신'std :: vector '을 사용하면 모든 문제가 해결됩니다. –
일부 테스트 코드를 통해 알아낼 수 있습니다. "지식"에 의존하지 마십시오. 그것을 시험해 보라! –
이 프로그램에 대한 컴파일 오류가 표시되지 않으면 프로그램을 켜야합니다. GCC에서, 그것은'g ++ -Wall'입니다. 또는 더 나은,'- 벽 - 실수 '. –