Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Übergeben eines statischen Arrays als Argument der Funktion | Spezifikation von Funktionsargumenten
C++-Funktionen

Übergeben eines statischen Arrays als Argument der Funktion

Swipe um das Menü anzuzeigen

Übergabe eines eindimensionalen Arrays als Argument

Um ein eindimensionales Array an eine Funktion zu übergeben, wird [] nach dem Parameternamen in der Funktionsdeklaration gesetzt.

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); }

Übergabe eines zweidimensionalen Arrays als Argument

Die Übergabe eines 2D-Arrays an eine Funktion erfolgt ähnlich wie bei einem 1D-Array — es wird [][] nach dem Parameternamen verwendet.

Es gibt jedoch einen wichtigen Unterschied: In C++ kann ein Funktionsparameter nicht als datatype arrayName[][] deklariert werden, ohne mindestens eine Dimension anzugeben. Die Anzahl der Spalten (oder eine Dimension) muss definiert werden, damit der Compiler die Speicheradressen der Array-Elemente korrekt berechnen kann.

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

Welche Funktionssignatur akzeptiert korrekt ein 2D-Static-Array als Parameter?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Übergeben eines statischen Arrays als Argument der Funktion

Übergabe eines eindimensionalen Arrays als Argument

Um ein eindimensionales Array an eine Funktion zu übergeben, wird [] nach dem Parameternamen in der Funktionsdeklaration gesetzt.

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); }

Übergabe eines zweidimensionalen Arrays als Argument

Die Übergabe eines 2D-Arrays an eine Funktion erfolgt ähnlich wie bei einem 1D-Array — es wird [][] nach dem Parameternamen verwendet.

Es gibt jedoch einen wichtigen Unterschied: In C++ kann ein Funktionsparameter nicht als datatype arrayName[][] deklariert werden, ohne mindestens eine Dimension anzugeben. Die Anzahl der Spalten (oder eine Dimension) muss definiert werden, damit der Compiler die Speicheradressen der Array-Elemente korrekt berechnen kann.

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 }
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
some-alt