1 Eylül 2013 Pazar

Local, Global and Static variables farkları

Sponsorlu Bağlantılar
#include<stdio.h>

void a(void);
void b(void);
void c(void);

int x=1; //global değişken
int main()
{
    int x=5; //local değişken    printf("X'in disarida Local degeri = %d\n",x);
    {
    int x=7;
    printf("X'in iceride Local degeri = %d\n",x);
}
printf("X'in disaridaki local degeri = %d\n",x);
a(); // Fonksiyonlar çağırılıyor...b();
c();
a();
b();
c();
printf("Local X in main is %d\n",x);
system("pause");
}
void a(void)
{
     int x=25;
     printf("\n X'in local degeri girilmeden önce = %d\n",x); //localde işlem tekrarlanmaz. ilk seferde 25 26 27 olur ikinci seferde üçüncü sefer de..     
     ++x;
     printf("Local X'in degeri x artirildiktan sonra = %d\n",x); 
     ++x;
     printf("Local X'in degeri x artirildiktan sonra = %d\n",x);
     }
void b(void)
     {
     static int x=50;
     printf("\nYerel statik x degeri girilmeden önce=%d\n",x); //static olduğu için ilk seferde çağırıldığında 51 olur daha sonra 52 olur her çağırıldığında artar...     ++x;
     printf("\nYerel statik x degeri girildikten sonra=%d\n",x);
     }
void c(void)
{
     printf("\nX'in global degeri = %d\n",x); //global olduğu için static ile aynı olur. ilk seferde 1 daha sonra 10 3. seferde 100 olur. ..     x=x*10;
     printf("\nİslem yapildiktan sonra X'in global degeri = %d\n",x);
     }
Sponsorlu Bağlantılar

Hiç yorum yok:

Yorum Gönder