CodeBlanks Logo Icon CodeBlanks

Fonksiyonlar

  • C kursu
  • Başlangıç
  • Ders 114/116
  • 6 dk

Fonksiyonlar ve koşullu mantıkla iş kurallarını yazarsın.

print_book fonksiyonu

Kitap yazdırmayı tekrar tekrar yapmamak için bir print_book fonksiyonu tanımlarsın. Bu, kodu düzenli ve tekrarsız tutar.

void print_book(struct Book b) {
    printf("%s %d\n", b.title, b.year);
}

Bu fonksiyon bir struct Book alır ve title ile year'u yazdırır. void dönüş türü değer döndürmediğini belirtir. Fonksiyon, kataloğun her yerinde çağrılabilir; bu, kod tekrarını önler.

Fonksiyon çağrısı

Tanımladığın print_book fonksiyonunu main içinde çağırırsın. Çağrı, fonksiyon adı ve parantez içindeki argümanla yapılır.

struct Book b = {"Suç ve Ceza", 1866};
print_book(b);
// "Suç ve Ceza 1866"

Burada b fonksiyona kopyalanarak geçirilir; fonksiyon kendi kopyası üzerinde çalışır. Bu, yapının değer ile geçirilmesidir (pass by value). Büyük yapılar için işaretçi kullanmak daha verimli olabilir; ama şimdilik değer geçişi yeterli.

Uygulama print_book fonksiyonunu tanımla ve çağır

void print_book(struct Book b) fonksiyonunu tanımla; içinde printf ile b.title ve b.year yazdır. main içinde print_book(b) çağrısı yap.

Başlangıç kodu

main.c
#include <stdio.h>

struct Book {
    char title[32];
    int year;
};

// print_book fonksiyonunu tanımla: bir Book alır ve printf ile yazdırır
int main(void) {
    struct Book b = {"Suç ve Ceza", 1866};
    // print_book fonksiyonunu çağır
    return 0;
}

Örnek çözüm

main.c
void print_book(struct Book b) {
    printf("%s %d\n", b.title, b.year);
}
print_book(b);

Beklenen çıktı

Suç ve Ceza 1866

Soru ve cevaplar

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

1 Parça ve görev eşleştir

Kavram Anlamı
void Değer döndürmez
struct Book b Parametre
b.title Üye erişimi
printf Çıktı verir

2 print_book fonksiyonunun dönüş türü nedir?

  • int
  • void Doğru cevap
  • char *
  • struct Book

Açıklama: print_book değer döndürmez; dönüş türü void.

3 Boşluğu doldur: fonksiyon tanımı

Soru
____ print_book(struct Book b) {
    printf("%s %d\n", b.title, b.year);
}
Cevap
void print_book(struct Book b) {
    printf("%s %d\n", b.title, b.year);
}

Açıklama: void print_book ile değer döndürmeyen fonksiyon tanımlanır.

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