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
#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
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ı
____ print_book(struct Book b) {
printf("%s %d\n", b.title, b.year);
}
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.