Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Överföra statisk array som argument till funktionen | Specifikation av funktionsargument
C++-Funktioner

Överföra statisk array som argument till funktionen

Svep för att visa menyn

Skicka en endimensionell array som argument

För att skicka en endimensionell array till en funktion, placera [] efter parameternamnet 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); }

Skicka en tvådimensionell array som argument

Att skicka en tvådimensionell array till en funktion fungerar på liknande sätt som att skicka en endimensionell array — du använder [][] efter parameternamnet.

Det finns dock en viktig skillnad: i C++ kan du inte deklarera en funktionsparameter som datatype arrayName[][] utan att specificera åtminstone en dimension. Du måste ange antalet kolumner (eller en dimension) så att kompilatorn kan beräkna minnesadresser korrekt vid åtkomst av arrayelement.

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

Vilken funktionssignatur accepterar korrekt en tvådimensionell statisk array som parameter?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 4
some-alt