2.Ders : C ile Kullanıcı tanımlı fonksiyonlar

Bu makalede, C programlamada kullanıcı tanımlı fonksiyonlar oluşturmayı öğreneceksiniz.

İçindekiler
Kullanıcı tanımlı fonksiyonlar (User-defined Function)
Fonksiyon prototipi (Function prototype)
Fonksiyon çağırmak (Function call)
Fonksiyon tanımı (Function definition)
Bir fonksiyona argüman iletme (Passing arguments to a function)
Dönüş ifadesi (Return statement)

Fonksiyonlar , belirli bir görevi gerçekleştiren bir kod bloğudur.

C, ihtiyaca göre fonksiyonları tanımlamanıza izin verir. Bu fonksiyonlar, kullanıcı tanımlı fonksiyonlar olarak bilinir.

Örnek: Kullanıcı tanımlı fonksiyon

İki tamsayı toplamak için bir örnek. Bu görevi gerçekleştirmek için kullanıcı tanımlı bir fonksiyon addNumbers () tanımlanmıştır.

#include <stdio.h>

int addNumbers(int a, int b);         // function prototype

int main()
{
    int n1,n2,sum;

    printf("İki sayı giriniz: ");
    scanf("%d %d",&n1,&n2);

    sum = addNumbers(n1, n2);        // function call

    printf("sum = %d",sum);

    return 0;
}

int addNumbers(int a,int b)         // function definition   
{
    int result;
    result = a+b;
    return result;                  // return statement
}

fonksiyon prototipi
Bir fonksiyon prototipi, sadece fonksiyonun adını, parametrelerini ve dönüş tipini belirten bir fonksiyonun beyanıdır. İşlev gövdesi içermez.

Bir fonksiyon prototipi, derleyiciye, fonksiyonun daha sonra programda kullanılabileceği hakkında bilgi verir.

fonksiyon prototipinin sözdizimi (Syntax ) :

returnType functionName(type1 argument1, type2 argument2,...);

Yukarıdaki örnekte, int addNumbers (int a, int b); derleyiciye aşağıdaki bilgileri sağlayan işlev prototipidir:

fonksiyonun adı addNumbers ()
fonksiyonun dönüş tipi int
int türündeki iki argüman işleve iletilir
Kullanıcı tanımlı fonksiyon, main () fonksiyonundan önce tanımlanmışsa, fonksiyon prototipine gerek yoktur.

fonksiyonu çağırma

functionName(argument1, argument2, ...);

fonksiyon tanımı

fonksiyon tanımı, belirli bir görevi yerine getirmek için kod bloğunu içerir.

returnType functionName(type1 argument1, type2 argument2, ...)
{
    //fonksiyonun gövdesi
}

Bir fonksiyon çağrıldığında, programın kontrolü fonksiyon tanımına aktarılır. Ve derleyici, bir fonksiyonun gövdesindeki kodları çalıştırmaya başlar.

Bir fonksiyona argüman iletme

Programlamada argüman, fonksiyona iletilen değişkeni ifade eder.

A ve b parametreleri, fonksiyon tanımındaki argümanları kabul eder. Bu argümanlara fonksiyonun resmi parametreleri denir.

Bir fonksiyona iletilen bağımsız değişkenlerin türü ve biçimsel parametrelerin eşleşmesi gerekir, aksi takdirde derleyici hata verir.

Bir argüman geçmeden bir fonksiyon da çağrılabilir.

Dönüş ifadesi (Return Statement)

Return ifadesi bir fonksiyonun çalışmasını sonlandırır ve çağıran fonksiyona bir değer döndürür. Program kontrolü return ifadesinden sonra arama işlevine aktarılır.

Yukarıdaki örnekte, değişken sonucunun değeri main () işlevindeki değişken toplamına döndürülür.

dönüş ifadesi Syntax :

return (expression);     

Örneğin :

return a;
return (a+b);

fonksiyondan döndürülen değer türü ile fonksiyon prototipinde ve fonksiyon tanımında belirtilen geri dönüş türü eşleşmelidir.