CodeBlanks Logo Icon CodeBlanks

Fonksiyon prototipi

  • C kursu
  • Başlangıç
  • Ders 68/116
  • 5 dk

Fonksiyon prototipi (declaration) ve sırasını öğrenirsin.

Fonksiyon prototipi

Prototip, fonksiyonun imzasını önceden bildiren satırdır. Derleyiciye "bu fonksiyon daha aşağıda tanımlı" der.

int add(int, int);  /* prototip */

int main(void) {
    int s = add(2, 3);
    return 0;
}

int add(int a, int b) {  /* tanım */
    return a + b;
}

Prototip olmadan, tanım main'den sonraysa derleyici uyarı verir. Modern C'de #include ile gelen başlık dosyaları da prototip içerir.

Başlık dosyaları ve prototip

#include <stdio.h> gibi satırlar, kütüphane fonksiyonlarının prototiplerini dosyana ekler. Bu yüzden printf'i tanımlamadan çağırabilirsin.

#include <stdio.h>

int main(void) {
    printf("%d\n", 42);  /* prototip stdio.h'tan gelir */
    return 0;
}

Standart kütüphane fonksiyonlarını kullanırken ilgili başlığı eklemek zorunludur; yoksa derleyici yanlış dönüş türü varsayabilir.

Uygulama Prototip ve tanım birlikte

int square(int); prototipini main'den önce yaz. main içinde printf("%d\n", square(5)); çağrısı olsun. main'den sonra int square(int x) { return x * x; } tanımını yaz. Çıktı 25 olmalı.

Başlangıç kodu

main.c
#include <stdio.h>

/* square prototipi */

int main(void) {
    /* printf %d ile square(5) çağır */
    return 0;
}

/* square tanımı */

Örnek çözüm

main.c
#include <stdio.h>

int square(int);

int main(void) {
    printf("%d\n", square(5));
    return 0;
}

int square(int x) {
    return x * x;
}

Beklenen çıktı

25

Soru ve cevaplar

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

1 Fonksiyon prototipi ne işe yarar?

  • Derleyiciye imzayı önceden bildirir Doğru cevap
  • Fonksiyonu hızlandırır
  • Fonksiyonu çağrılabilir yapar
  • Fonksiyonu yeniden adlandırır

Açıklama: Prototip, derleyiciye fonksiyon imzasını önceden bildirir.

2 Prototip satırı

Soru
int add(int, ____);  /* prototip */
Cevap
int add(int, int);  /* prototip */

Açıklama: Prototipte yalnız tür yazılır; ad isteğe bağlıdır.

3 Prototip eşleştir

Kavram Anlamı
int add(int, int); prototip
int add(int a, int b) { tanım başı
add(2, 3); çağrı
#include <stdio.h> başlık

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