Diziler ve Fonksiyonlar
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası. Ders 62 / 74.
Diziler, tam diziler olarak işlevlere doğrudan aktarılamaz. Bir diziyi bir işleve aktarmaya çalıştığında, dizi ilk öğesini gösteren bir işaretçiye “dönüşür”.
Örneğin:
int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
int size = std::size(arr);
}std::size(arr) burada derlenmez, çünkü arr aslında bir işaretçidir, dizi değildir ve bir işaretçi dizinin boyutunu saklamaz. İşaretçiler bir sonraki kursta öğrenilecektir.
Bu nedenle dizileri işlevlere aktarırken genellikle boyutu ayrı bir parametre olarak aktarmamız gerekir:
void processArray(int arr[], int size) {
// Artık size parametresini kullanarak dizi üzerinde güvenle çalışabiliriz
}Fonksiyonun nasıl çağrılacağı şöyle:
int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);Ayrıca bir fonksiyonda dizi döndürmek mümkün değildir:
int[] processArray(int arr[]) {
return arr;
}Bu geçersizdir. Bunun yerine * sözdizimini kullanmalısın:
int* processArray(int arr[]) {
return arr;
}
int* newArr = processArray(arr);Yıldız (*) sözdizimi, sonraki kursta ele alınacak işaretçileri ifade eder.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya YanlışKendi başına pratik yap: Online C++ derleyicisi