4 Mayıs 2013 Cumartesi

C Programlama ile Extern Komutu

Önce C dilinde bir program iskeleti nasıl olur gösterelim

#include<kutuphaneismi.h>

int main() //ana fonksiyon baslagici 
{



} // ana fonksiyon sonu;

Program içinde bir değişkeni şöyle tanımlarız. Örnegin integer değişken olsun

int sayi; //sayi isminde değişken tanımlandı;  bu değişkene 5 atayıp ekrana yazdıralım.

sayi=5;
printf("%d",sayi);

Tamam aynı program içinde tanımlanan bir değişken bu şekilde kullanılır. Peki başka bir programda tanımlı bir değişkeni nasıl kullanabiliriz. 2 program olsun, birincisine  program1.c ikincisine program2.c diyelim. program1.c şöyle olsun:

/*************************************************************
                                                 program1.c
int k;
k=100;

/*************************************************************************/
yazdiğimiz bu programı C/Dev-Cpp/include klasörüne atmalıyız. 2. adım olarak   program2.c içerisinde program1.c deki k değişkenini kullanalım


/****************************************************************
                                              program2.c
#include<stdio.h>
#include<program1.c>   // buraya dikkat. program1.c yi ram a aldık. yani çağırdık.

extern int k;  // değişken başka bir dosyada tanımlı;

int main() {

printf("%d",k);

}
/****************************************************************

program2 yi derlediğimizde ekran cıktımızın 100 oldugunu görecegiz.

Peki bu yolla fonksiyonda kullanabilirmiyiz? Tabi ki evet.  Yine program1.c ve program2.c olsun ve program1.c yi include içerisine atalım.


/*****************************************************************
                                                     program1.c
int kare_al(int gelen) {
return gelen*gelen;
}

/*****************************************************************
şimdi program2 de kare_al fonksiyonunu çağıralım.


/****************************************************************
                                            program2.c
#include<stdio.h>
#include<program1.c>

extern int kare_al(int); // fonksiyon baska dosyada tanımlı
int main() {

int sayi;
sayi=kare_al(5);
printf("%d",sayi);
}

/****************************************************************

programımızı derlersek ekran cıktımızın 25 yani girilen parametrenin karesi oldugu görülecektir.

Hiç yorum yok:

Yorum Gönder