를 전달하는 적절한 방법하면 어레이에 대한 포인터를 전달하는 해당 배열의 첫 번째 멤버를 가리 킵니다. 그래서 포인터 값을 증가시킬 때 포인터가 가리키는 위치가 증가합니다. 배열의 다음 항목을 가리 킵니다.
void testfunction(int *array)
{
printf("%d",*(array)); //value of array[0]
printf("%d",*(array+1)); //value of array[1]
printf("%d",*(array+2)); //value of array[2]
}
아래의 예에서 포인터가 유지하는 값은 위치가 아니라 변경됩니다.
void testfunction(int *array)
{
printf("%d",*(array)); //value of array[0] gets printed
printf("%d",*(array)+1); // value of array[0]+1
printf("%d",*(array)+2); //value of array[0]+2
}
아래 주어진 예는 제 1 예와 유사합니다. 배열 [0]은 첫 번째 위치에있는 값을 나타냅니다. 인덱스 값은 포인터 배열이 가리켜 야하는 위치를 나타냅니다. 두 번째 print 문은 0 번째 위치의 값을 증가시킵니다. 세 번째 print 문은 포인터가 위치하는 위치를 증가시킵니다 배열 가리키는. 즉, 배열의 다음 값을 사용합니다.
void testfunction(int array[])
{
printf("%d",array[0]); //value of array[0]
printf("%d",array[0]+1); //value of array[0] +1
printf("%d",array[0+1]); // value of array[1].Index value changed
}
C 구문을 사용하여 죄송합니다. 쉽게 이런 식으로 설명 할 수 있습니다. 희망 하시겠습니까!
http://stackoverflow.com/a/1790720/611055이 질문에 대한 답변을 –