산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 프로그래밍에서 함수에 배열 전달

C++ 프로그래밍에서 함수에 배열 전달

이 튜토리얼에서는 예제를 통해 C++에서 1차원 및 다차원 배열을 함수 매개변수로 전달하는 방법을 배웁니다.

C++에서는 배열을 함수의 인수로 전달할 수 있습니다. 또한 함수에서 배열을 반환할 수도 있습니다.

배열을 함수 인수로 전달하는 방법을 배우기 전에 C++ 배열 및 C++ 함수에 대해 알고 있어야 합니다.

<시간>

배열을 함수 매개변수로 전달하기 위한 구문

함수에 배열을 전달하는 구문은 다음과 같습니다.

returnType functionName(dataType arrayName[arraySize]) {
    // code
}

예를 들어 보겠습니다.

int total(int marks[5]) {
    // code
}

여기에서 int를 전달했습니다. marks라는 이름의 유형 배열 total() 함수에 . 배열의 크기는 5입니다. .

<시간>

예제 1:1차원 배열을 함수에 전달

// C++ Program to display marks of 5 students

#include <iostream>
using namespace std;

// declare function to display marks
// take a 1d array as parameter
void display(int m[5]) {
    cout << "Displaying marks: " << endl;

    // display array elements    
    for (int i = 0; i < 5; ++i) {
        cout << "Student " << i + 1 << ": " << m[i] << endl;
    }
}

int main() {

    // declare and initialize an array
    int marks[5] = {88, 76, 90, 61, 69};
    
    // call display function
    // pass array as argument
    display(marks);

    return 0;
}

출력

Displaying marks: 
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69

여기,

  1. 배열을 인수로 전달하여 함수를 호출할 때 배열의 이름만 사용됩니다.
    display(marks);
    여기에서 인수 표시 배열 marks[5]의 첫 번째 요소의 메모리 주소를 나타냅니다. .
  2. 그러나 display()의 매개변수는 기능.
    void display(int m[5])
    여기에서는 대괄호 []를 포함하여 함수 매개변수에서 배열의 전체 선언을 사용합니다. .
  3. 함수 매개변수 int m[5] int* m;로 변환 . 이것은 배열 marks가 가리키는 동일한 주소를 가리킵니다. . 이것은 m[5]를 조작할 때 함수 본문에서 우리는 실제로 원래 배열 marks를 조작하고 있습니다. .

    C++는 메모리와 시간을 절약하기 위해 이런 방식으로 함수에 배열을 전달합니다.
<시간>

함수에 다차원 배열 전달

다차원 배열을 함수에 대한 인수로 전달할 수도 있습니다. 예를 들어,

예시 2:다차원 배열을 함수에 전달하기

// C++ Program to display the elements of two
// dimensional array by passing it to a function

#include <iostream>
using namespace std;

// define a function 
// pass a 2d array as a parameter
void display(int n[][2]) {
    cout << "Displaying Values: " << endl;
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
            cout << "num[" << i << "][" << j << "]: " << n[i][j] << endl;
        }
    }
}

int main() {

    // initialize 2d array
    int num[3][2] = {
        {3, 4},
        {9, 5},
        {7, 1}
    };

    // call the function
    // pass a 2d array as an argument
    display(num);

    return 0;
}

출력

Displaying Values: 
num[0][0]: 3
num[0][1]: 4
num[1][0]: 9
num[1][1]: 5
num[2][0]: 7
num[2][1]: 1

위의 프로그램에서 display()라는 함수를 정의했습니다. . 이 함수는 int n[][2] 2차원 배열을 사용합니다. 인수로 사용하고 배열의 요소를 인쇄합니다.

함수를 호출하는 동안 2차원 배열의 이름만 함수 인수 display(num)로 전달합니다. .

참고 :배열의 행 수를 지정해야 하는 것은 아닙니다. 그러나 열 수는 항상 지정해야 합니다. 이것이 int n[][2]을 사용한 이유입니다. .

2차원 이상의 배열을 함수 인수로 전달할 수도 있습니다.

<시간>

함수에서 배열을 반환하는 C++

함수에서 배열을 반환할 수도 있습니다. 그러나 실제 배열은 반환되지 않습니다. 대신 배열의 첫 번째 요소의 주소가 포인터의 도움으로 반환됩니다.

다음 튜토리얼에서 함수에서 배열을 반환하는 방법에 대해 배울 것입니다.


C 언어

  1. C# 들쭉날쭉한 배열
  2. C++ 연산자
  3. C++ friend 함수 및 friend 클래스
  4. C 프로그래밍 연산자
  5. C++의 배열 | 선언 | 초기화 | 배열 예제에 대한 포인터
  6. 예제를 사용한 C++ 배열 동적 할당
  7. 예제를 사용한 C++ 연산자 오버로딩
  8. 프로그램 예제가 있는 C++ 함수
  9. C 튜토리얼
  10. C++ 오버로딩(연산자와 함수)