Makrolarda Argümanlar
Lisans:
Creative Commons
26.11.2020
tarihinde güncellendi
Bakabileceğiniz Etiketler:
Eğitmen:
Geleceği Yazanlar Ekibi
#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.