Geef arrays door aan een functie in C

In deze tutorial leer je arrays (zowel eendimensionale als multidimensionale arrays) door te geven aan een functie in C-programmering met behulp van voorbeelden.

Bij C-programmering kun je een hele array aan functies doorgeven. Laten we, voordat we dat leren, eens kijken hoe u afzonderlijke elementen van een array aan functies kunt doorgeven.

Het doorgeven van individuele array-elementen

Het doorgeven van matrixelementen aan een functie is vergelijkbaar met het doorgeven van variabelen aan een functie.

Voorbeeld 1: een array doorgeven

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

Uitvoer

 8 4 

Voorbeeld 2: arrays doorgeven aan functies

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

Uitvoer

 Resultaat = 162,50

Om een ​​hele array aan een functie door te geven, wordt alleen de naam van de array als argument doorgegeven.

 result = calculateSum(age);

Let echter op het gebruik van ()in de functiedefinitie.

 float calculateSum(float age()) (… )

Dit informeert de compiler dat u een eendimensionale array aan de functie doorgeeft.

Multidimensionale arrays doorgeven aan een functie

Om multidimensionale arrays aan een functie door te geven, wordt alleen de naam van de array aan de functie doorgegeven (vergelijkbaar met eendimensionale arrays).

Voorbeeld 3: passeren van tweedimensionale arrays

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

Uitvoer

 Voer 4 cijfers in: 2 3 4 5 Weergeven: 2 3 4 5 

Opmerking: bij C-programmering kunt u arrays aan functies doorgeven, maar u kunt geen arrays van functies retourneren.

Interessante artikelen...