Posted by : MC 18 Mart 2014 Salı

C programlama - fonksiyon yazımı ve kullanımı

C de programımızın efektif olması acısından ve iş bölümü acısından fonksiyonları kullanırız arkadaslar

fonksiyonları buyuk bir programın kucuk işçi parcaları olarak dusunun ve bu işçileri ihtiyacımız oldugunda cagırdıgımız ve onlarla işimiz bittiginde geri gonderdigimizi ve bu işçilerin biz ne zaman cagırırsak gelecek olduklarını dusunun

buyuk programımızın etrafında işçilerimizi kendimiz olustururuz işçinin ne yapmasını istiyorsak onunla ilgili fonksiyonumuzu yazarız ve main fonksiyonu yani ana program fonksiyonumuz içerisinde ihtiyacımız oldugu zamanlarda cagırır ve gorevini yerine getirmesini isteriz

öncelikle fonksiyonlar yani işçilerimizi nasıl tanımlarız :

fonsiyonu tanımlarken oncelikle fonksiyonumuzun tipini belirleriz bu fonksiyon işini bitirdikten sonra bize ne tipte bir veri donecek integer,string,char,double,float bir degisken donebilecegi gibi istersek basına void ekleyerek hiçbirsy geri dondurmemesini de saglayabiliriz :)

2. dikkat edilmesi gereken husus ise işçimize kullanması için veri verip vermeyecegimizdir ana fonskyisonumuz içerisinde bir kac veriyi işçimize gonderip işlemesini isteyebiliriz yada o alanı bos bırakarak işçimizin ana fonksiyondan bagımsız bir işlem yapmasını da isteyebiliriz

gelelim fonksiyonların genel olarak nasıl tanımlandıklarına :

fonksiyonlar main fonsiyonunundan sonra ya da main fonksiyonundan once tanımlanırlar genellikle ben 2. tercihi kullanıyorum ilk tercihe gelirsek fonksiyonu main fonksiyondan sonra tanımaldıgınıdan main fonksiyonun oncesinde programa fonksiyon tanımlayacagınızı bildirmeniz gerekmektedir neyse kafanız karısmasın :) benim tercih ettigim metoddan yolumuza devam edelim

 FonksiyonTipi FonksiyonAdı(arguman listesi)
      argumanların tip bildirimleri
      {
        Yerel değişkenlerin bildirimi
        ...
        fonksiyon içindeki deyimler veya diğer fonksiyonlar
        ...
      }

seklinde tanımlanır fonksiyon tipi belirttigimiz gibi int double string char gibi degisken tiplerini alabilecegi gibi void olarak belirtirsek bize birsey dondurmeyecektir

arguman listesi ise egerki ana fonksiyonumuzdan isçimizin işlemesi için bir kac degisken gondermek istiyorsak kullanacagımız kısımdır gondermek istemiyorsak bos bırakılabilir

fonksiyon adı ise işçimize verecegimiz isim olup ana fonksiyon içerisinde bu adla cagıracagımız kısımdır


gelelim örnegimize

bir program dusunun kullanıcıdan 2 adet sayı isteyecegiz bu sayıları işçimizin toplamasını isteyecegiz sonrasında bir işçi daha olusturup bu işçinin de toplama işlemi sonucunu ekrana yazdırmasını isteyecegiz

#include <stdio.h>
int toplayici(int x,int y)
{
int toplam;
toplam=x+y;
return toplam;
}
void ekrana_yaz(int sonuc)
{
printf("toplama isleminin sonucu=%d",sonuc);
}

void main()
{
int a,b,islem_sonucu;
printf("1. sayiyi giriniz\n");
scanf("%d",&a);
printf("2. sayiyi giriniz\n");
scanf("%d",&b);
islem_sonucu=toplayici(a,b);
ekrana_yaz(islem_sonucu);
}

yukarıdaki ornekte goruldugu uzere ana programımızdan 2 adet degisken yolladıgımız ve bize toplama işlemini yapacak toplayici fonksiyonunu yani işçimizi olusturduk bu işçi ne yapacak ana fonsiyondan gonderdigimiz 2 integer degiskeni toplayara return ile cagırdıgımız noktaya toplama işleminin sonucu yollayacak ne yaptık burada integer 2 degisken aldık ve integer olarak toplayici fonksiyonu olusturuduk ve bu fonsiyonda bize integer bir deger geri dondurdu.

gelelim 2. işçimize ekrana_yaz fonksiyonu bu fonksiyona dikkat ettiyseniz void olarak tanımladık ekrana yazdırması gerekiyor neticesinde ana fonksiyonumuza herhangi bir deger dondurmesi istenmiyor ben fonksiyonu cagırdıgımda ekrana istedigimi yazırsın yeter :) ekrana yazıdrmak istedigim degeri de fonksiyona zaten int sonuc olarak gonderiyorum ana fonksiyonumdan degil mi :)

programı calıstırdıgınızdan alacagınız sonuc:

1. sayiyi giriniz
5
2. sayiyi giriniz
9
toplama isleminin sonucu=14

olacaktır
buradaki 5 ve 9 benim kullanıcı olarak girdigim rakamlardır

herhangi bir sorunuz olması durumunda iletisime gecmekten cekinmeyizi
iyi kodlamalar arkadaslar

yorumlarınız bizim için önemli

Bültene abone ol | Yorumlara abone ol

ELEKTRO BLOGGER A HOŞGELDINIZ

ARAMA YAP

EN COK OKUNANLAR

- Copyright © ELEKTRO-BLOGGER Blogger