Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C / C++ Dizilerin ve Değişkenlerin Alt Fonksiyonlara Argüman Olarak Gönderilmesi


Dizilerin ve Değişkenlerin Alt Fonksiyonlara Argüman Olarak Gönderilmesi

AÇIKLAMA

Bu program C veya C++ derleyicisinde geliştirilmiş olan bu programda ana fonksiyondan alt fonksiyonlara dizilerin ve değişkenlerin argüman olarak nasıl gönderildiği gösterilmiştir. Programı incelediğinizde elemanayarla isimli fonksiyondaki değişme sadece o kısımda etkili olurken (çünkü orada başka bir değişken tanımlanmış yani bellekte başka bir hücrede veri yer tutmaktadır) diziyi argüman olarak gönderdiğimiz de alt fonksiyon ana fonksiyonda bulunan diziyi değiştirmektedir. Çünkü adres bilgisi yani aynı bellek hücresi gösterilmiş yani ortada tek bir veri vardır ve iki fonksiyonda ana ve alt fonksiyon aynı veri üzerinde çalışmışlardır.

Kullanılan derleyici C++ Builder derleyicisi olduğundan include, #pragram hdrstop vs gibi bazı header dosyaları görünmektedir. Kullandığınız derleyiciye göre bu headerları kaldırmanız gerekmektedir.

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include <stdio.h>
  6. #include <conio.h>
  7. void diziAyarla(int x[],int);
  8. void elemanAyarla(int);
  9. //---------------------------------------------------------------------------
  10.  
  11. #pragma argsused
  12. int main(int argc, char* argv[])
  13. {
  14.  int a[]={0,1,2,3,4};
  15.  printf("Dizi Fonksiyona Gonderilmeden Once....\n");
  16.  printf("Sirasiyla Dizi Degerleri: ");
  17.  for(int i=0;i<5;i++)
  18.  printf("%d ",a[i]);
  19.  printf("\n");
  20.  printf("4.Elemanin Degeri: %d",a[3]);
  21.  printf("\n");
  22.  elemanAyarla(3);
  23.  diziAyarla(a,5);
  24.  printf("Dizi Fonksiyona Gonderildikten Sonra....\n");
  25.  printf("Sirasiyla Dizi Degerleri: ");
  26.  for(int i=0;i<5;i++)
  27.  printf("%d ",a[i]);
  28.  printf("\n");
  29.  printf("4.Elemanin Degeri: %d",a[3]);
  30.  getche();
  31.  return 0;
  32. }
  33. //---------------------------------------------------------------------------
  34. void diziAyarla(int x[],int boyut)
  35. {
  36.   for(int i=0;i<boyut;i++)
  37.   x[i]*=2;
  38. }
  39. //---------------------------------------------------------------------------
  40. void elemanAyarla(int e)
  41. {
  42.  printf("Elemanin Fonksiyonda Olusan Degeri: %d\n",e*2);
  43.  
  44. }
  45.  
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Cumartesi, 28 Nisan 2012 02:41 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım