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
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
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 }
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion