Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Passage d'un tableau statique comme argument de la fonction | Spécification des Arguments de Fonction
Fonctions C++

Passage d'un tableau statique comme argument de la fonction

Glissez pour afficher le menu

Passage d'un tableau à une dimension en argument

Pour passer un tableau à une dimension à une fonction, placer [] après le nom du paramètre dans la signature de la fonction.

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

Passage d'un tableau à deux dimensions en argument

Le passage d'un tableau à deux dimensions à une fonction fonctionne de manière similaire au passage d'un tableau à une dimension — il suffit d'utiliser [][] après le nom du paramètre.

Cependant, il existe une différence importante : en C++, il n'est pas possible de déclarer un paramètre de fonction sous la forme datatype arrayName[][] sans spécifier au moins une dimension. Il est nécessaire de définir le nombre de colonnes (ou une dimension) afin que le compilateur puisse correctement calculer les décalages mémoire lors de l'accès aux éléments du tableau.

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

Quelle signature de fonction accepte correctement un tableau statique 2D en tant que paramètre ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 4
some-alt