Bu eğitimde, dizileri (hem tek boyutlu hem de çok boyutlu diziler) C programlamadaki bir işleve örnekler yardımıyla geçirmeyi öğreneceksiniz.
C programlamasında, tüm diziyi fonksiyonlara geçirebilirsiniz. Bunu öğrenmeden önce, bir dizinin tek tek elemanlarını fonksiyonlara nasıl aktarabileceğinizi görelim.
Tek tek dizi öğelerini iletme
Dizi öğelerini bir işleve geçirmek, değişkenleri bir işleve iletmeye benzer.
Örnek 1: Bir diziyi iletmek
#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; )
Çıktı
8 4
Örnek 2: Dizileri işlevlere aktarma
// 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; )
Çıktı
Sonuç = 162.50
Dizinin tamamını bir işleve geçirmek için, yalnızca dizinin adı bağımsız değişken olarak aktarılır.
result = calculateSum(age);
Ancak, ()
işlev tanımında kullanımına dikkat edin .
float calculateSum(float age()) (… )
Bu, derleyiciye işleve tek boyutlu bir dizi geçirdiğinizi bildirir.
Çok Boyutlu Dizileri Bir Fonksiyona Geçirme
Çok boyutlu dizileri bir işleve geçirmek için, yalnızca dizinin adı işleve aktarılır (tek boyutlu dizilere benzer şekilde).
Örnek 3: İki boyutlu dizileri iletme
#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)); ) ) )
Çıktı
4 numara girin: 2 3 4 5 Gösteriliyor: 2 3 4 5
Not: C programlamasında dizileri fonksiyonlara geçirebilirsiniz, ancak fonksiyonlardan dizi döndüremezsiniz.