• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Makro Fonksiyon Tanımlaması

ByOnur58

MFC Üyesi
Üyelik Tarihi
7 Ocak 2015
Mesajlar
2,114
MFC Puanı
10
Yaş
28
Kod:
Başlık dosyalarında, bol miktarda makro fonksiyon uygulamalarına rastlanır. Makro tanımlaması #define önişlemci komutu kullanılarak yapılır. Örneğin aşağıdaki makro fonksiyonlar geçerlidir.

#define kare(x) (x)*(x)
#define delta(a,b,c) ((b)*(b)-4*(a)(c))
#define yaz() puts("Devam etmek için bir tuşa basın...")
Bu şekilde tanımlanan fonksiyonların kullanımı diğerleri gibidir. Yalnızca programın başında tanımlanır. Ancak, bu tanımlamalarla fonksiyon bellekte bir yer işgal etmez. Makro fonksiyon tanımlamaları Bölüm 20'de tekrar ele alınacaktır.

Basit bir makro fonksiyon uygulaması Program 8.6'da gösterilmiştir. buyuk(a,b) makrosu a>b ise a değerini aksi halde b değerini gönderir.

Kod:
01: 
02: 
03: 
04: 
05: 
06: 
07: 
08: 
09: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
/* 08prg06.c: makro fonksiyon uygulaması */

#include <stdio.h>

#define buyuk(a,b) ( (a>b) ? a:b)

int main()
{
  int x,y,eb;

  printf("iki sayı girin: ");
  scanf("%d,%d",&x,&y);

  eb = buyuk(x,y);

  printf("buyuk olan  %d\n",eb);

 return 0;
}
 
Geri
Üst