Send arrays til en funktion i C

I denne vejledning lærer du at overføre arrays (både endimensionelle og multidimensionelle arrays) til en funktion i C-programmering ved hjælp af eksempler.

I C-programmering kan du overføre en hel række til funktioner. Før vi lærer det, lad os se, hvordan du kan overføre individuelle elementer i et array til funktioner.

Videregivelse af individuelle matrixelementer

At videregive matrixelementer til en funktion svarer til at overføre variabler til en funktion.

Eksempel 1: Videresendelse af en matrix

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

Produktion

 8 4 

Eksempel 2: Videregive arrays til funktioner

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

Produktion

 Resultat = 162,50

For at videregive et helt array til en funktion sendes kun navnet på arrayet som et argument.

 result = calculateSum(age);

Bemærk dog brugen af ()i funktionsdefinitionen.

 float calculateSum(float age()) (… )

Dette informerer kompilatoren om, at du sender et endimensionelt array til funktionen.

Overførsel af flerdimensionelle arrays til en funktion

For at overføre flerdimensionelle arrays til en funktion sendes kun navnet på arrayet til funktionen (svarende til endimensionelle arrays).

Eksempel 3: Passering af todimensionale 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)); ) ) )

Produktion

 Indtast 4 tal: 2 3 4 5 Visning: 2 3 4 5 

Bemærk: I C-programmering kan du overføre arrays til funktioner, men du kan ikke returnere arrays fra funktioner.

Interessante artikler...