Предаване на масиви на функция в C

В този урок ще се научите да предавате масиви (едномерни и многомерни масиви) на функция в програмирането на C с помощта на примери.

При програмирането на C можете да предавате цял масив на функции. Преди да научим това, нека видим как можете да предавате отделни елементи от масив на функции.

Предаване на отделни елементи от масив

Предаването на елементи на масив на функция е подобно на предаването на променливи на функция.

Пример 1: Предаване на масив

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

Изход

 8 4 

Пример 2: Предаване на масиви на функции

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

Изход

 Резултат = 162.50

За да се предаде цял масив на функция, като аргумент се предава само името на масива.

 result = calculateSum(age);

Забележете обаче използването на ()в дефиницията на функцията.

 float calculateSum(float age()) (… )

Това информира компилатора, че предавате едноизмерен масив на функцията.

Предаване на многомерни масиви на функция

За да се предадат многомерни масиви на функция, на функцията се предава само името на масива (подобно на едномерните масиви).

Пример 3: Предаване на двумерни масиви

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

Изход

 Въведете 4 числа: 2 3 4 5 Показване: 2 3 4 5 

Забележка: При програмирането на C можете да предавате масиви на функции, но не можете да връщате масиви от функции.

Интересни статии...