-
iOS Eğitimlerine Başlarken...
-
Objective-C Dilinde Kütüphaneler
-
Objective-C'de Sınıf Arayüzü (Class Interface) Nasıl Tanımlanır?
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler Giriş
-
Sabitlerden Oluşan İfadeler
-
int Türü İfadeler
-
float Türündeki İfadeler
-
Gösterge İfadeleri
-
Gösterge İfadeleri ve Değerleri
-
Operatörlerin Öncelikleri ve Birleşme Sıraları
-
İkili Aritmetiksel Operatörler
-
Aritmetiksel Atama Operatörleri
-
İlişkisel Operatörler
-
Mantıksal Operatörler
-
Bit Düzeyinde İşlem Gören Operatörler
-
Öteleme Operatörleri
-
Bit Düzeyinde Mantıksal Operatörler
-
Bit Düzeyinde İşlem İçin Bir Örnek: Sınav Değerlendirme Programı
-
Bit Düzeyinde Atama Operatörleri
-
Cast Operatörü
-
sizeof Operatörü ve Bir Örnek Program
-
Tekli Operatörler
-
Koşul Operatörü
-
Bellek Operatörleri
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler Giriş
-
Kontrol Yapıları
-
Döngü (Loop) Oluşturma
-
Miras Alma (Inheritance), Çok Biçimlilik
-
Ön İşlemci Komutları ve Makrolar
-
Ön İşlemci Komutları ve Makrolar Giriş
-
Basit Makro Tanımları
-
Objective-C Ön İşlemcisi
-
Makrolarda Argümanlar
-
Önceden Tanımlanmış Değerlere Referans Verme
-
Gerçek Parametrelerde Bir Dizi İfadenin Kullanılması
-
Makro Tanımlamada # ve ## Operatörleri
-
Makro Tanımın İptal Edilmesi: undef Komutu
-
Dosya İçeriklerini Programa Katma: include Komutu
-
Şarta Bağlı Derleme İşlemi: #if Komutu
-
#ifdef Komutu
-
#ifndef Komutu
-
#error ve #pragma Direktifleri
-
Ön İşlemci Komutları ve Makrolar Giriş
-
Diziler ve Sözlük Nesneleri
-
Diziler ve Sözlük Nesneleri Giriş
-
Bir Dizi Nesnesi Oluşturmak
-
Dizideki Eleman Sayısını Bulmak
-
Bir Dizi Nesnesinin Elemanlarına Erişme
-
Dizi Elemanlarına Hızlı Numaralama (Fast Enumeration) Yöntemi ile Erişmek
-
Dizi Nesnesine Eleman Eklemek
-
Dizi Nesnesinde Araya Eleman Ekleme
-
Dizi Nesnesinin Bazı Elemanlarını Silme
-
Dizi Nesnelerini Sıralama
-
Diziler ve Sözlük Nesneleri Giriş
-
Fonksiyonlar
-
Fonksiyonlar Giriş
-
Objective C Dilinde Bir Fonksiyonun Yapısı
-
Fonksiyonların Tanımlanması
-
Fonksiyonlarla İlişkili Terimler
-
return Deyimi
-
Fonksiyon Çağrıları ile İlgili Örnek C Programları
-
Fonksiyon Çağırma Teknikleri
-
Fonksiyonları Değer ile Çağırma
-
Fonksiyonları Referans ile Çağırma
-
İki Boyutlu Dizinin Argüman Olarak Gönderilmesi
-
C Dilinde Özyineli (Rekürsif) Fonksiyonlar
-
Fonksiyonlar Giriş
-
Dinamik Bağlama, id Veri Tipi
-
Bellek Sınıfları
-
Dosya İşlemleri
-
Nesne Yönelimli Programlama
-
Algoritmaya Giriş
Objective-C dilinde bir fonksiyon iki kısımdan oluşur:
-
Başlık (header)
-
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.