Bu eğitimde, tek boyutlu ve çok boyutlu bir diziyi C ++ 'da bir fonksiyon parametresi olarak örnekler yardımıyla nasıl geçireceğimizi öğreneceğiz.
C ++ 'da dizileri bir fonksiyona argüman olarak geçirebiliriz. Ve ayrıca bir fonksiyondan dizileri döndürebiliriz.
Dizileri işlev bağımsız değişkeni olarak geçirmeyi öğrenmeden önce, C ++ Dizileri ve C ++ İşlevleri hakkında bilgi sahibi olduğunuzdan emin olun.
Dizileri İşlev Parametreleri Olarak Geçirme Sözdizimi
Bir diziyi bir işleve geçirmenin sözdizimi şöyledir:
returnType functionName(dataType arrayName(arraySize)) ( // code )
Bir örnek görelim,
int total(int marks(5)) ( // code )
Burada, int
işleve marks adında bir tür dizisi geçirdik total()
. Dizinin boyutu 5'tir.
Örnek 1: Tek Boyutlu Diziyi Bir İşleve Aktarma
// C++ Program to display marks of 5 students #include using namespace std; // declare function to display marks // take a 1d array as parameter void display(int m(5)) ( cout << "Displaying marks: " << endl; // display array elements for (int i = 0; i < 5; ++i) ( cout << "Student " << i + 1 << ": " << m(i) << endl; ) ) int main() ( // declare and initialize an array int marks(5) = (88, 76, 90, 61, 69); // call display function // pass array as argument display(marks); return 0; )
Çıktı
İşaretlerin görüntülenmesi: Öğrenci 1: 88 Öğrenci 2:76 Öğrenci 3:90 Öğrenci 4:61 Öğrenci 5:69
Buraya,
- Argüman olarak bir dizi geçirerek bir işlevi çağırdığımızda, sadece dizinin adı kullanılır.
display(marks);
- Ancak,
display()
işlevin parametresine dikkat edin .void display(int m(5))
()
. - İşlev parametresi,
int m(5)
değerine dönüşürint* m;
. Bu, dizi işaretleriyle gösterilen aynı adresi gösterir. Bu, işlev gövdesinde m (5) 'i işlediğimizde, aslında orijinal dizi işaretlerini değiştirdiğimiz anlamına gelir.
C ++ bellek ve zamandan tasarruf etmek için bir diziyi bir işleve bu şekilde geçirmeyi işler.
Çok Boyutlu Diziyi Bir Fonksiyona Geçirme
Çok boyutlu dizileri de işleve argüman olarak iletebiliriz. Örneğin,
Örnek 2: Çok Boyutlu Diziyi Bir İşleve Aktarma
// C++ Program to display the elements of two // dimensional array by passing it to a function #include using namespace std; // define a function // pass a 2d array as a parameter void display(int n()(2)) ( cout << "Displaying Values: " << endl; for (int i = 0; i < 3; ++i) ( for (int j = 0; j < 2; ++j) ( cout << "num(" << i << ")(" << j << "): " << n(i)(j) << endl; ) ) ) int main() ( // initialize 2d array int num(3)(2) = ( (3, 4), (9, 5), (7, 1) ); // call the function // pass a 2d array as an argument display(num); return 0; )
Çıktı
Değerlerin Görüntülenmesi: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1
Yukarıdaki programda isimli bir fonksiyon tanımladık display()
. İşlev int n()(2)
, bağımsız değişken olarak iki boyutlu bir dizi alır ve dizinin öğelerini yazdırır.
Fonksiyonu çağırırken, fonksiyon argümanı olarak sadece iki boyutlu dizinin adını iletiriz display(num)
.
Not : Dizideki satır sayısını belirtmek zorunlu değildir. Bununla birlikte, sütun sayısı her zaman belirtilmelidir. Bu yüzden kullandık int n()(2)
.
Fonksiyon argümanı olarak 2'den fazla boyutlu dizileri de geçirebiliriz.
C ++ Bir İşlevden Dizi Döndürme
Ayrıca fonksiyondan bir dizi döndürebiliriz. Ancak, gerçek dizi döndürülmez. Bunun yerine dizinin ilk elemanının adresi işaretçiler yardımıyla döndürülür.
Gelecek eğitimlerde bir işlevden dizileri döndürmeyi öğreneceğiz.