CodeBlanks Logo Icon CodeBlanks

Parametreler

Fonksiyona parametre geçmeyi öğrenirsin.

Parametre ve argüman

Bir fonksiyon, dışarıdan değer alabilir. Tanımda parametre yazarsın: void greet(std::string name)'deki name bir parametredir. Çağrıda gönderdiğin değere argüman denir: greet("Ayşe")'deki "Ayşe" bir argümandır.

Parametre, fonksiyon içinde bir değişken gibi kullanılır. Çağrı sırasında argümanın değeri parametreye kopyalanır; bu değerle çağrı adını alır. Yani fonksiyon içinde parametreyi değiştirsen bile çağıran taraftaki orijinal değişken etkilenmez.

Değerle çağrı

C++'ta varsayılan davranış değerle çağrıdır. void addTen(int x) fonksiyonuna addTen(n) diye çağrı yaptığında, n'in değeri x'e kopyalanır. x = x + 10; yapsan bile n değişmez.

Bu, fonksiyonun yan etkilerini sınırlar; kodu takip etmeyi kolaylaştırır. Fonksiyonun çağıran tarafı değiştirmesini istiyorsan referans parametresi kullanmalısın; buna ileriki seviyede değineceğiz. Şimdilik parametrelerin kopya olduğunu bilmen yeterli.

Uygulama Parametreli greet yaz ve çağır

Bir void greet(std::string name) fonksiyonu tanımla; içi std::cout << "merhaba " << name << std::endl; olsun. main'de greet("Ayşe") çağır.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>

// greet fonksiyonunu buraya tanımla

int main() {
    // greet çağrısı (argüman: Ayşe)
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <string>

void greet(std::string name) {
    std::cout << "merhaba " << name << std::endl;
}

int main() {
    greet("Ayşe");
    return 0;
}

Beklenen çıktı

merhaba Ayşe

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Parametre ve argümanı eşle

Kavram Anlamı
void greet(std::string name) Tanım
greet("Ayşe") Çağrı
name Parametre
"Ayşe" Argüman

2 void inc(int x) { x++; } çağrısından sonra n ne olur? (n = 5)

main.cpp
int n = 5;
inc(n);
  • Derleme hatası
  • n tanımsız olur
  • n 6 olur
  • n hâlâ 5 Doğru cevap

Açıklama: değerle çağrıda n'nin kopyası değişir, n kendisi 5 kalır.

3 Parametreli fonksiyonu tamamla

Soru
void greet(std::string ____) { std::cout << name; }
Cevap
void greet(std::string name) { std::cout << name; }

Açıklama: name parametresi fonksiyon içinde kullanılır.

Başlangıç bölümündeki tüm dersler