iOS 101Başlangıç seviyesi derslerde iOS uygulama geliştirme ortamını detaylı olarak inceliyoruz.

Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı

Haydi Sınava Gir

Fonksiyonların Tanımlanması

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 12.05.2016 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : obj-c fonksiyonlar obj-c fonksyion tanımlama

Objective-C dilinde bir fonksiyon iki kısımdan oluşur:

  1. Başlık (header)

  2. Gövde (body)

Objective C dilinde bir fonksiyonun tanımlanması demek, o fonksiyonu meydana getirecek başlık ve gövdenin oluşturulması demektir.

Başlık kısmı; fonksiyonun göndereceği değere göre belirlenen tipini belirten bir bildiri, ya da fonksiyon bir değer göndermeyecekse void sözcüğü ile başlar. Bunu fonksiyonun adı ve varsa parametre listesi izler. Parametre listesi yoksa void sözcüğü kullanılır.

Parametre listesinde parametrelerin türü ve isimleri belirtilir. Her parametreye ilişkin tür bildirimleri arasında virgül sembolleri bulunur. Başlıktan sonra kesinlikle noktalı virgül sembolü kullanmamalıyız.

ÖRNEK:

 

int  topla(int x,int y)

 

Burada topla adlı fonksiyon int türünde tanımlanmıştır. İki tane parametresi vardır: x ve y. Bu parametrelerin tipleri de int olarak tanımlanmıştır.

 

ÖRNEK:

 

int  deger(void)

 

Burada deger int tipinde bir değer gönderecek olan fonksiyondur ve herhangi bir parametresi olmadığı için, parametre listesi yerine void sözcüğü yerleştirilmiştir.

 

ÖRNEK:

 

void  yaz(void)

 

Burada yaz adlı fonksiyon bir değer göndermeyeceği için void tipinde tanımlanmıştır. Fonksiyon için parametre de tanımlanmadığı için parametre listesi yerine de void sözcüğü yerleştirilmiştir.

 

ÖRNEK:

 

void f(int x)

 

Bu örnekte ise, f adlı fonksiyon değer göndermediği için void tipinde tanımlanmıştır. f fonksiyonunu çağıracak olan fonksiyonun, f fonksiyonuna int tipinde bir değer göndermesi uygun görüldüğü için, f fonksiyonunun parametre listesine int x tanımı konulmuştur. Fonksiyonun başlık kısmından sonra gövdesi gelir. Gövde, { } sembolleri arasına yerleştirilmiştir. Fonksiyonun gövdesi içinde, sadece fonksiyon içinde geçerli olan yerel değişken tanımlamaları, çeşitli C ifadeleri ve return komutu görülebilir.


 

FONKSİYON BİLDİRİMLERİ

Bir fonksiyon, hangi fonksiyonun içinden çağrılacaksa, çağrılacağı fonksiyon içinde bir bildiri döngüsü formunda tanıtılmalıdır. Buna fonksiyon bildirimi adını vereceğiz. Fonksiyon bildirimleri daima bir noktalı virgül (;) ile sona erer.

 

ÖRNEK:

 

int toplam(int);
 
#import <Foundation/Foundation.h>
 
int main(int argc,const char *argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
 
    int m;
}

 

 

Burada, main (ana program veya fonksiyon) içinde çağrılacak olan toplam adlı fonksiyon, bildiri döngüleri kümesi içinde, bir bildiri döngüsü formunda programa tanıtılır. Fonksiyon tanımlama ve bildirimlerinde, parametrelerin tiplerinin de bildirildiği forma fonksiyon prototip formu ya da biçimi adı verilmektedir ve bu form yukarıdaki örnekte de görüldüğü gibi,

TipBildirimi FonksiyonAdı(Tip 1 Parametre 1,Tip 2 Parametre 2,..,Tip n Parametre n)

şeklindedir.

 

ÖRNEK:

1'den N'e kadar tam sayıların toplamını bulan bir Objective C fonksiyonu ve ana program içinde çağrılmasına bir örnekle göz atalım.

 

int toplam(int);
 
#import <Foundation/Foundation.h>
 
int main(int argc,const char *argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
    
    int m;
    NSLog(@"\nUST LIMIT...\n");
    scanf("%i",&m);
    NSLog(@"\n1+2+3..+%i=%i\n\n",m,toplam(m));
    [pool drain];
    return 0;
}

int toplam(int n)
{
    int i,s;
    s=0;
    for(i=1;i<=n;i++)
        s+=i;
    return s;
}

 

 

PROGRAMIN ÇIKTISI:

 

AÇIKLAMA:

Yukarıdaki programda, toplam adlı fonksiyon int türünde tanımlanmıştır. Bu durumda, kendisini çağıran programa bir tam sayı değer gönderecektir. toplam fonksiyonunun gönderdiği tam sayı değer 1’den n’e kadar tam sayıların toplamıdır (1+2+..+n) ve bu değer toplam fonksiyonu içinde bir for döngüsü ile hesaplanarak return s komutu ile çağıran programa gönderilir. i ve s, toplam fonksiyonu içinde tanımlanmış yerel değişkenlerdir ve sadece toplam fonksiyonu içinde geçerlidirler.

Yukarıdaki programda, çağıran (invoking, calling) fonksiyon main’dir; yani main içinde printf fonksiyonu içinden toplam fonksiyonu, toplam(m) şeklinde çağrılıyor. Çağıran fonksiyona ait m argümanı, çağrılan (invoked, called) fonksiyon olan toplam içindeki n değişkenine aktarılır. Yukarıdaki örnekte, m yerine 5 girildiği için, n’in de değeri 5 olacaktır ve toplam fonksiyonu içindeki for döngüsü bu durumda 1+2+3+4+5=15 değerini hesaplayarak s değişkenine yerleştirir ve return s komutu s’in değerini çağıran program içine geçirecektir. Yukarıdaki örnekte bu değer printf ile yazdırılıyor.