Bu dersimde sizlere C programlama dilinin temeli olan fonksiyonları göstereceğim. Temeli dememin sebebi bir C programı ana fonksiyon olan "main" fonksiyonu ile başlar. "main" ana fonksiyonumuz içerisinden diğer fonksiyonları çalıştırarak istediğimiz işlemleri fonksiyonlara yaptırırız. Şunu unutmayınız ki en basitinden "printf" ile ekrana yazı yazdırmamızı sağlayan bu kod parçası bir fonksiyondur.
Fonksiyon kullanmanın asıl amacı programları daha anlaşılır küçük parçalara bölmektir. Bölünen bu parçalar ana fonksiyon içerisinde uygun yerlerde çağrılır. Daha sonra parçalar birleştirilerek tam program elde edilir. Böylece programımız daha basit ve düzenlenmesi oldukça kolay olur. Ana fonksiyon içerisinden fonksiyonlar çağırırsak, sadece kısacık ana programa bakarak fonksiyon isimlerinden programımızın neyi yerine getirdiğini anlayabiliriz.
Fonksiyon kullanmanın bir diğer güzel yanı ise bir çok yerde aynı kodu çalıştırmak istediğimizde kodları tekrar tekrar yazmak yerine tek bir fonksiyon şeklinde tanımlayıp gerekli yerlerde bu fonksiyonu çağırabilmemizdir.
Bir fonksiyon şu kalıpta oluşturulur.
Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri )
{
...
//fonksiyon kodları
...
}
Bir fonksiyon iki yerde tanımlanabilir. Main fonksiyonundan önce yada main fonksiyonundan sonra. İkisi arasında tek fark main fonksiyonundan sonra yapılacak tanımlama için main fonksiyonundan önce fonksiyon bildirimi yapılmalıdır.
Bir fonksiyon bildirimi şu şekilde yapılır.
Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri );
Şimdi bir örnek ile fonksiyonları daha iyi anlayalım. Örnek olarak 1'den n'e kadar olan tamsayıların toplamını bulan bir fonksiyon yazalım. Ana fonksiyonumuzdan n değerini klavyeden biz girelim. Kod:
01.#include <stdio.h>
02.int nToplam(int sayi); //fonksiyon tanımı
03.void main(void)
04.{
05.int n,tumToplam;
06.printf("n degerini giriniz:");
07.scanf("%d",&n);
08.
09.tumToplam=nToplam
;
10.printf("1'den %d'te kadar olan tamsayilarin toplami=%d'tir.",n,tumToplam);
11.}
12.int nToplam(int sayi)
13.{
14.int i,toplam=0;
15.for(i=1;i<=sayi;i++)
16.toplam+=i;
17.return toplam;
18.}
ekran çıktısı:
Görüldüğü gibi 1'den n'e kadar olan sayiların toplamını bir fonksiyon olarak oluşturduk ve ana fonksiyonumuzda
nToplam
; şeklinde çağırdık. (9. satıra bakın)
Bundan sonra aynı işlemi yapmak için sadece "nToplam
;" şeklinde fonksiyonu çağırmak yetecektir. Biz her çağırdığımızda otomatik olarak 12 ile 18. satırlar arasındaki fonksiyon kodları çalıştırılacaktır.
Özet olarak, fonksiyonların programımızı daha anlaşılır küçük parçalara bölünmesi ve tekrar kullanacağımız kodları bir kere tanımlayıp daha sonra istediğimiz her yerde çağırmamızı sağlayan yapıdır.
Eğer C programlama dilini öğrenmek ve C dilinde ilerlemek istiyorsanız, buradaki örneklerle yetinmeyip kendi fonksiyonlarınızı yazmaya çalışmalısınız. Örneğin siz de parametre olarak gelen 2 sayinin çarpımının 4 fazlasını geri döndüren bir fonksiyon yazın. Şimdiden iyi çalışmalar.
kaynak
Fonksiyon kullanmanın asıl amacı programları daha anlaşılır küçük parçalara bölmektir. Bölünen bu parçalar ana fonksiyon içerisinde uygun yerlerde çağrılır. Daha sonra parçalar birleştirilerek tam program elde edilir. Böylece programımız daha basit ve düzenlenmesi oldukça kolay olur. Ana fonksiyon içerisinden fonksiyonlar çağırırsak, sadece kısacık ana programa bakarak fonksiyon isimlerinden programımızın neyi yerine getirdiğini anlayabiliriz.
Fonksiyon kullanmanın bir diğer güzel yanı ise bir çok yerde aynı kodu çalıştırmak istediğimizde kodları tekrar tekrar yazmak yerine tek bir fonksiyon şeklinde tanımlayıp gerekli yerlerde bu fonksiyonu çağırabilmemizdir.
Bir fonksiyon şu kalıpta oluşturulur.
Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri )
{
...
//fonksiyon kodları
...
}
Bir fonksiyon iki yerde tanımlanabilir. Main fonksiyonundan önce yada main fonksiyonundan sonra. İkisi arasında tek fark main fonksiyonundan sonra yapılacak tanımlama için main fonksiyonundan önce fonksiyon bildirimi yapılmalıdır.
Bir fonksiyon bildirimi şu şekilde yapılır.
Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri );
Şimdi bir örnek ile fonksiyonları daha iyi anlayalım. Örnek olarak 1'den n'e kadar olan tamsayıların toplamını bulan bir fonksiyon yazalım. Ana fonksiyonumuzdan n değerini klavyeden biz girelim. Kod:
01.#include <stdio.h>
02.int nToplam(int sayi); //fonksiyon tanımı
03.void main(void)
04.{
05.int n,tumToplam;
06.printf("n degerini giriniz:");
07.scanf("%d",&n);
08.
09.tumToplam=nToplam
10.printf("1'den %d'te kadar olan tamsayilarin toplami=%d'tir.",n,tumToplam);
11.}
12.int nToplam(int sayi)
13.{
14.int i,toplam=0;
15.for(i=1;i<=sayi;i++)
16.toplam+=i;
17.return toplam;
18.}
ekran çıktısı:
Görüldüğü gibi 1'den n'e kadar olan sayiların toplamını bir fonksiyon olarak oluşturduk ve ana fonksiyonumuzda
nToplam
Bundan sonra aynı işlemi yapmak için sadece "nToplam
Özet olarak, fonksiyonların programımızı daha anlaşılır küçük parçalara bölünmesi ve tekrar kullanacağımız kodları bir kere tanımlayıp daha sonra istediğimiz her yerde çağırmamızı sağlayan yapıdır.
Eğer C programlama dilini öğrenmek ve C dilinde ilerlemek istiyorsanız, buradaki örneklerle yetinmeyip kendi fonksiyonlarınızı yazmaya çalışmalısınız. Örneğin siz de parametre olarak gelen 2 sayinin çarpımının 4 fazlasını geri döndüren bir fonksiyon yazın. Şimdiden iyi çalışmalar.
kaynak