Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Overførsel af statisk array som argument til funktionen | Function Arguments Specification
C++ Funktioner

Overførsel af statisk array som argument til funktionen

Stryg for at vise menuen

Overfør et 1-dimensionelt array som argument

For at overføre et 1-dimensionelt array til en funktion, placeres [] efter parameternavnet i funktionssignaturen.

main.cpp

main.cpp

123456789101112131415161718192021
#include <iostream> // Function to process a 1-dimensional static array void process(int arr[], const int size) { for (int i = 0; i < size; ++i) std::cout << arr[i] << " "; // Print each element of the array std::cout << std::endl; } int main() { const int SIZE = 5; // Initialize a 1-dimensional static array int oneDimArray[SIZE] = {1, 2, 3, 4, 5}; // Call the function to process the array std::cout << "Original Array: "; process(oneDimArray, SIZE); }

Overfør et 2-dimensionelt array som argument

Overførsel af et 2D-array til en funktion fungerer på samme måde som ved et 1D-array — du bruger [][] efter parameternavnet.

Der er dog en vigtig forskel: I C++ kan du ikke erklære en funktionsparameter som datatype arrayName[][] uden at angive mindst én dimension. Du skal definere antallet af kolonner (eller én dimension), så compileren kan beregne hukommelsesadresser korrekt ved adgang til array-elementer.

main.cpp

main.cpp

1234567891011121314151617181920212223
#include <iostream> // Function to print a 2D array with a fixed number of columns void process(int matrix[][3], const int rows) { // Loop through rows for (int i = 0; i < rows; ++i) { for (int j = 0; j < 3; ++j) // Loop through columns std::cout << matrix[i][j] << " "; // Print each element std::cout << std::endl; // Move to the next line } } int main() { const int ROWS = 2; int arr[ROWS][3] = {{1, 2, 3}, {4, 5, 6}}; std::cout << "Original Matrix:" << std::endl; process(arr, ROWS); // Pass array and row count to the function }
question mark

Hvilken funktionssignatur accepterer korrekt et 2D statisk array som parameter?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 2. Kapitel 4
some-alt