Send matriser til en funksjon i C

I denne opplæringen lærer du å overføre matriser (både endimensjonale og flerdimensjonale matriser) til en funksjon i C-programmering ved hjelp av eksempler.

I C-programmering kan du overføre en hel matrise til funksjoner. Før vi lærer det, la oss se hvordan du kan overføre individuelle elementer i en matrise til funksjoner.

Passerer individuelle matriseelementer

Å overføre matriseelementer til en funksjon ligner på å overføre variabler til en funksjon.

Eksempel 1: Passere en matrise

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

Produksjon

 8 4 

Eksempel 2: Overføring av matriser til funksjoner

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

Produksjon

 Resultat = 162,50

For å overføre en hel matrise til en funksjon, sendes bare navnet på matrisen som et argument.

 result = calculateSum(age);

Legg merke til bruken av ()i funksjonsdefinisjonen.

 float calculateSum(float age()) (… )

Dette informerer kompilatoren om at du overfører en endimensjonal matrise til funksjonen.

Overføring av flerdimensjonale matriser til en funksjon

For å overføre flerdimensjonale matriser til en funksjon, blir bare navnet på matrisen overført til funksjonen (ligner på endimensjonale matriser).

Eksempel 3: Passere todimensjonale matriser

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

Produksjon

 Tast inn 4 tall: 2 3 4 5 Visning: 2 3 4 5 

Merk: I C-programmering kan du overføre matriser til funksjoner, men du kan ikke returnere matriser fra funksjoner.

Interessante artikler...