C ++ Przekazywanie tablic jako parametrów funkcji (z przykładami)

W tym samouczku za pomocą przykładów nauczymy się przekazywać jednowymiarową i wielowymiarową tablicę jako parametr funkcji w C ++.

W C ++ możemy przekazywać tablice jako argument do funkcji. Możemy również zwracać tablice z funkcji.

Zanim nauczysz się przekazywania tablic jako argumentu funkcji, upewnij się, że znasz C ++ tablice i funkcje C ++.

Składnia przekazywania tablic jako parametrów funkcji

Składnia przekazywania tablicy do funkcji to:

 returnType functionName(dataType arrayName(arraySize)) ( // code )

Zobaczmy przykład,

 int total(int marks(5)) ( // code )

Tutaj przekazaliśmy intdo funkcji tablicę typów o nazwie marks total(). Rozmiar tablicy to 5.

Przykład 1: Przekazywanie jednowymiarowej tablicy do funkcji

 // C++ Program to display marks of 5 students #include 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; )

Wynik

 Wystawianie ocen: Uczeń 1:88 Uczeń 2:76 Uczeń 3:90 Uczeń 4:61 Uczeń 5:69

Tutaj,

  1. Kiedy wywołujemy funkcję, przekazując tablicę jako argument, używana jest tylko nazwa tablicy.
     display(marks);
    Tutaj znaczniki argumentów reprezentują adres pamięci pierwszego elementu tablicy znaków (5).
  2. Zwróć jednak uwagę na parametr display()funkcji.
     void display(int m(5))
    Tutaj używamy pełnej deklaracji tablicy w parametrze funkcji, w tym nawiasów kwadratowych ().
  3. Parametr funkcji jest int m(5)konwertowany na int* m;. Wskazuje to na ten sam adres wskazywany przez znaki tablicy. Oznacza to, że kiedy manipulujemy m (5) w treści funkcji, w rzeczywistości manipulujemy oryginalnymi znacznikami tablicy.
    C ++ obsługuje przekazywanie tablicy do funkcji w ten sposób, aby zaoszczędzić pamięć i czas.

Przekazywanie tablicy wielowymiarowej do funkcji

Możemy również przekazywać tablice wielowymiarowe jako argument do funkcji. Na przykład,

Przykład 2: Przekazywanie tablicy wielowymiarowej do funkcji

 // C++ Program to display the elements of two // dimensional array by passing it to a function #include 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; ) 

Wynik

 Wyświetlanie wartości: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1

W powyższym programie zdefiniowaliśmy funkcję o nazwie display(). Funkcja przyjmuje int n()(2)jako argument dwuwymiarową tablicę i wyświetla elementy tablicy.

Podczas wywoływania funkcji przekazujemy tylko nazwę dwuwymiarowej tablicy jako argument funkcji display(num).

Uwaga : nie jest obowiązkowe określenie liczby wierszy w tablicy. Jednak zawsze należy określić liczbę kolumn. Dlatego użyliśmy int n()(2).

Jako argument funkcji możemy również przekazywać tablice z więcej niż dwoma wymiarami.

C ++ Zwracanie tablicy z funkcji

Możemy również zwrócić tablicę z funkcji. Jednak rzeczywista tablica nie jest zwracana. Zamiast tego adres pierwszego elementu tablicy jest zwracany za pomocą wskaźników.

Dowiemy się o zwracaniu tablic z funkcji w nadchodzących samouczkach.

Interesujące artykuły...