C에서 함수에 배열 전달
C에서 배열은 참조 또는 값으로 함수에 전달될 수 있습니다. 그러나 배열은 단순히 배열 이름을 함수에 전달하여 특정 유형의 단일 요소처럼 처리할 수 없다는 점에서 일반 변수와 다릅니다. 대신 배열 이름은 배열의 첫 번째 요소에 대한 포인터로 처리됩니다.
따라서 함수 매개변수를 배열로 선언하면 실제로 해당 요소 유형에 대한 포인터를 선언하는 것입니다. 예를 들어, 다음 함수 선언은 정수 배열과 배열 길이를 나타내는 정수를 사용하는 함수를 선언합니다.
void printarray(int arg[], int length);
주 함수에서 printarray 함수를 호출하면 배열의 이름이 인수로 전달됩니다. 배열의 이름은 배열의 첫 번째 요소의 주소를 나타냅니다. 이는 배열의 첫 번째 요소에 대한 포인터를 전달하는 것과 같습니다.
아래 코드에서 변수 firstarray는 세 개의 정수로 구성된 배열입니다. 변수 secondarray는 5개의 정수로 구성된 배열입니다. printarray 함수는 두 번 호출됩니다. 한 번은 firstarray 인수로, 한 번은 secondarray 인수로 호출됩니다. firstarray 인수의 길이는 3이고, secondarray 인수의 길이는 5입니다.
int firstarray[] = {5, 10, 15}; int secondarray[] = {2, 4, 6, 8, 10}; printarray(firstarray, 3); printarray(secondarray, 5);
printarray 함수에서 arg 매개변수는 전달되는 배열의 첫 번째 요소에 대한 포인터입니다. 길이 매개변수는 전달되는 배열의 길이입니다. printarray 함수는 배열 요소의 값을 인쇄합니다.
void printarray (int arg[], int length) { for (int n = 0; n < length; n++) { cout << arg[n] << " "; } cout << "\n"; }
코드는 다음과 같습니다.
5 10 15 2 4 6 8 10
위 내용은 C의 함수에 배열이 어떻게 전달됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!