Passer des tableaux à une fonction en C

Dans ce didacticiel, vous apprendrez à passer des tableaux (à la fois des tableaux unidimensionnels et multidimensionnels) à une fonction en programmation C à l'aide d'exemples.

En programmation C, vous pouvez passer un tableau entier aux fonctions. Avant d'apprendre cela, voyons comment vous pouvez transmettre des éléments individuels d'un tableau à des fonctions.

Passer des éléments de tableau individuels

La transmission d'éléments de tableau à une fonction est similaire à la transmission de variables à une fonction.

Exemple 1: passer un tableau

 #include void display(int age1, int age2) ( printf("%d", age1); printf("%d", age2); ) int main() ( int ageArray() = (2, 8, 4, 12); // Passing second and third elements to display() display(ageArray(1), ageArray(2)); return 0; ) 

Production

 8 4 

Exemple 2: Passage de tableaux à des fonctions

 // Program to calculate the sum of array elements by passing to a function #include float calculateSum(float age()); int main() ( float result, age() = (23.4, 55, 22.6, 3, 40.5, 18); // age array is passed to calculateSum() result = calculateSum(age); printf("Result = %.2f", result); return 0; ) float calculateSum(float age()) ( float sum = 0.0; for (int i = 0; i < 6; ++i) ( sum += age(i); ) return sum; )

Production

 Résultat = 162,50

Pour passer un tableau entier à une fonction, seul le nom du tableau est passé en argument.

 result = calculateSum(age);

Cependant, notez l'utilisation de ()dans la définition de fonction.

 float calculateSum(float age()) (… )

Cela informe le compilateur que vous passez un tableau unidimensionnel à la fonction.

Passage de tableaux multidimensionnels à une fonction

Pour transmettre des tableaux multidimensionnels à une fonction, seul le nom du tableau est passé à la fonction (similaire aux tableaux unidimensionnels).

Exemple 3: Passer des tableaux bidimensionnels

 #include void displayNumbers(int num(2)(2)); int main() ( int num(2)(2); printf("Enter 4 numbers:"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) scanf("%d", &num(i)(j)); // passing multi-dimensional array to a function displayNumbers(num); return 0; ) void displayNumbers(int num(2)(2)) ( printf("Displaying:"); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 2; ++j) ( printf("%d", num(i)(j)); ) ) )

Production

 Entrez 4 chiffres: 2 3 4 5 Affichage: 2 3 4 5 

Remarque: dans la programmation C, vous pouvez passer des tableaux aux fonctions, mais vous ne pouvez pas renvoyer des tableaux à partir de fonctions.

Articles intéressants...