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

Makrolarda Argümanlar

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 11.05.2016 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : obj-c makro argümanlar obj-c makrolar

 

#define  MakroAdı(Argüman1,Argüman2,..Argüman n)   MakroKomutları

şeklindeki bir ifade, argüman kullanan bir makro tanımını göstermektedir.

 

ÖRNEK:

 

#define YAZ(p1,p2,p3)\
NSLog(@"\n%c\t%c\t%i",(p1),(p2),(p3))

#import <Foundation/Foundation.h>

int main(int argc, char* argv[])
{
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
    char kar1,kar2;
    int x;
    kar1='M';
    kar2='N';
    x=4567;
    YAZ(kar1,kar2,x+3);
    [pool drain];
    return 0;
}

 

PROGRAMIN ÇIKTISI:

M   N   4570

 

AÇIKLAMA:

Yukarıdaki program içinde YAZ adı ile

#define YAZ(p1,p2,p3)\

            NLog(@"\n%c\t%c\t%d",(p1),(p2),(p3))

şeklinde tanımlanmış makronun 3 argümanı (p1,p2,p3 argümanları) mevcuttur. Program içinde, YAZ adlı makro,

          YAZ(kar1,kar2,x+3)

şeklinde çağrılınca,

p1        kar1

p2        kar2

p3        x+3   

Atamaları yapılarak printf’in çalıştırılması ile değerler dış ortama aktarılacaktır.