C 언어
이 튜토리얼에서는 예제를 통해 C 프로그래밍의 함수에 배열(1차원 및 다차원 배열 모두)을 전달하는 방법을 배웁니다.
C 프로그래밍에서는 전체 배열을 함수에 전달할 수 있습니다. 배우기 전에 배열의 개별 요소를 함수에 전달하는 방법을 살펴보겠습니다.
<시간>함수에 배열 요소를 전달하는 것은 함수에 변수를 전달하는 것과 유사합니다.
<시간>
#include <stdio.h>
void display(int age1, int age2) {
printf("%d\n", age1);
printf("%d\n", age2);
}
int main() {
int ageArray[] = {2, 8, 4, 12};
// pass second and third elements to display()
display(ageArray[1], ageArray[2]);
return 0;
}
출력
8 4
여기에서 배열 매개변수를 display()
에 전달했습니다. 함수에 변수를 전달하는 것과 같은 방식으로 함수를 사용합니다.
// pass second and third elements to display()
display(ageArray[1], ageArray[2]);
함수 매개변수가 개별 변수인 함수 정의에서 이를 확인할 수 있습니다.
void display(int age1, int age2) {
// code
}
<시간>
// Program to calculate the sum of array elements by passing to a function
#include <stdio.h>
float calculateSum(float num[]);
int main() {
float result, num[] = {23.4, 55, 22.6, 3, 40.5, 18};
// num array is passed to calculateSum()
result = calculateSum(num);
printf("Result = %.2f", result);
return 0;
}
float calculateSum(float num[]) {
float sum = 0.0;
for (int i = 0; i < 6; ++i) {
sum += num[i];
}
return sum;
}
출력
Result = 162.50
전체 배열을 함수에 전달하려면 배열 이름만 인수로 전달합니다.
result = calculateSum(num);
그러나 []
의 사용에 주의하십시오. 함수 정의에서.
float calculateSum(float num[]) {
... ..
}
이것은 1차원 배열을 함수에 전달하고 있음을 컴파일러에 알립니다.
<시간>다차원 배열을 함수에 전달하려면 배열 이름만 함수에 전달됩니다(1차원 배열과 유사).
#include <stdio.h>
void displayNumbers(int num[2][2]);
int main() {
int num[2][2];
printf("Enter 4 numbers:\n");
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 2; ++j) {
scanf("%d", &num[i][j]);
}
}
// pass multi-dimensional array to a function
displayNumbers(num);
return 0;
}
void displayNumbers(int num[2][2]) {
printf("Displaying:\n");
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 2; ++j) {
printf("%d\n", num[i][j]);
}
}
}
출력
Enter 4 numbers: 2 3 4 5 Displaying: 2 3 4 5
매개변수 int num[2][2]
를 확인하세요. 함수 프로토타입 및 함수 정의에서:
// function prototype
void displayNumbers(int num[2][2]);
이것은 함수가 2차원 배열을 인수로 취한다는 것을 의미합니다. 2차원 이상의 배열을 함수 인수로 전달할 수도 있습니다.
2차원 배열을 전달할 때 배열의 행 수를 지정해야 하는 것은 아닙니다. 단, 열의 개수는 항상 지정해야 합니다.
예를 들어,
void displayNumbers(int num[][2]) {
// code
}
<시간> 참고: C 프로그래밍에서는 배열을 함수에 전달할 수 있지만 함수에서 배열을 반환할 수는 없습니다.
C 언어
동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장할 수 있는 일종의 데이터 구조를 배열합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 종종 배열을 같은 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장
배열은 동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 인접한 메모리 위치에 저장된 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 배열의 특정 요소는 인덱스에 의해 액세스됩니다. 모든 배열은 연속적인 메모리 위치로 구성됩니다. 가장 낮은