90 likes | 309 Views
Bölüm 4. İşlevler ve Modüler Programlama. İşlev Tanımı. /* İşlev açıklama satırı */ <işlev türü> <işlev adı> (<biçimsel parametre listesi>) { <yerel bildirim kesimi> <uygulama kesimi> }. Gerçek parametre (actual parameter). Biçimsel parametre (formal parameter).
E N D
Bölüm 4 İşlevler ve Modüler Programlama
İşlev Tanımı /* İşlev açıklama satırı */ <işlev türü> <işlev adı> (<biçimsel parametre listesi>) { <yerel bildirim kesimi> <uygulama kesimi> }
Gerçek parametre (actual parameter) Biçimsel parametre (formal parameter) İşlev Tanımı Örneği /* İşlev Prototipi */ double kup (int x); int main (void) { int deger; ... deger = 5; ... printf(“%d degerinin kubu : %f \n”, deger, kup( deger ) ); ... } /* ... */ double kup(int x) { return x * x * x; }
Etkinlik Alanı (Scope) int p1; double p2; int f1 (int p1); double f2 (double p2); void f3 (double *d); int main(void) { double m1 = 11111.11; /* main işlevi yerel değişkeni */ p1 = 1; /* p1 genel değişkenine (int) ilk değer aktarılıyor */ p2 = 2.0; /* p1 genel değişkenine (double) ilk değer aktarılıyor */ ... f1( 10 ); f2( m1 ); ... f3 ( &m1 ); ... return (0); /* İşletimi işletim sistemine devret */ } int f1 ( int p1 ) { double p2; p2 = 1000.0; p1 = p1 * 1000; return 0; } double f2 ( double p2 ) { p1 = 2000; p2 = p2 * 2000.0; return 0; } void f3 ( double *d ) { *d = 0.0; }
Genel Etkinlik Alanı (Global Scope) main İşlevi Etkinlik Alanı f1 İşlevi Etkinlik Alanı f2 İşlevi Etkinlik Alanı f3 İşlevi Etkinlik Alanı Etkinlik Alanı (Scope) int p1; double p2; int f1 (int p1); double f2 (double p2); void f3 (double *d); int main(void) { double m1 = 11111.11; /* main işlevi yerel değişkeni */ p1 = 1; /* p1 genel değişkenine (int) ilk değer aktarılıyor */ p2 = 2.0; /* p1 genel değişkenine (double) ilk değer aktarılıyor */ ... f1(10); f2(m1); ... f3 (&m1); ... return (0); /* İşletimi işletim sistemine devret */ } int f1 (int p1) { double p2; p2 = 1000.0; p1 = p1 * 1000; return 0; } double f2 (double p2) { p1 = 2000; p2 = p2 * 2000.0; return 0; } void f3 (double *d) { *d = 0.0; }
Biçimsel giriş parametresi (formal input parameter) Gerçek giriş parametresi (actual input parameter) Giriş (Input) Türü Parametreler ... void degistir ( int x, int y ); ... void main (void) { int a, b; a = 2; b = 3; degistir ( a, b ); } ... void degistir ( int x, int y ) { int gecici; gecici = x; x = y; y = gecici; }
&a &x &b &y Giriş Türü Parametrelerle İşlev Çağrısı ... main ... { int a, b; a = 2; b = 3; degistir (a, b); ... } ... void degistir ( int x, int y ) { int gecici; gecici = x; x = y; y = gecici; } 2 3 3 2 2 3
Biçimsel giriş-çıkış parametresi (formal input-output parameter) Gerçek giriş-çıkış parametresi (actual input-output parameter) Giriş-Çıkış (Input-Output) Türü Parametreler ... void degistir ( int *x, int *y ); ... void main (void) { int a, b; a = 2; b = 3; degistir ( &a, &b ); } ... void degistir ( int *x, int *y ) { int gecici; gecici = *x; *x = *y; *y = gecici; }
x &a &b y Giriş-Çıkış Türü Parametrelerle İşlev Çağrısı ... main ... { int a, b; a = 2; b = 3; degistir (&a, &b); } ... void degistir ( int *x, int *y ) { int gecici; gecici = *x; *x = *y; *y = gecici; } 2 3 3 2