Sabtu, 12 April 2014

Sebuah variabel lokal hanya dikenal dalam definisi fungsi . Fungsi lain tidak diperbolehkan untuk tahu nama-nama variabel lokal fungsi , dan tidak pula fungsi apapun diperbolehkan untuk mengetahui pelaksanaan rincian fungsi lainnya .


Function Definition


Contoh:
 /* Fig. 5.3: fig05_03.c
  Creating and using a programmer-defined function */
#include <stdio.h>

int square( int y );

/* function prototype *//* function main begins program execution */
int main( void )
{
    int x; /* counter */

    /* loop 10 times and calculate and output square of x each time */
    for ( x = 1; x <= 10; x++ ) {
       printf( "%d ", square (x)); /* function call */
    } /* end for */

    printf( "\n" );
    return 0; /* indicates successful termination */
} /* end main */

/* square function definition returns square of parameter */
int square( int y ) /* y is a copy of argument to function */
{
    return y * y; /* returns square of y as an int */
} /* end function square */



Screenshots:

Function Maximum



Contoh:
Pada contoh ini programer mendefinisikan fungsi maximumuntuk determine dan return dari tiga integers,yang ketiganya diinputkan lewat perintah scanf,selanjutnya lewat maximum,yang mana determine integer terbesar.Nilai dikembalikan  ke main oleh stetment return dalam stetment maximum .Nilai yang dikembalikan di tampilkan oleh statment perintah  printf.

/* Fig. 5.4: fig05_04.c
  Finding the maximum of three integers */
#include <stdio.h>

int maximum( int x, int y, int z ); /* function prototype */

/* function main begins program execution */
 int main( void )
 {
 int number1; /* first integer */
 int number2; /* second integer */
 int number3; /* third integer */

 printf( "Enter three integers: " );
 scanf( "%d%d%d", &number1, &number2, &number3 );

 /* number1, number2 and number3 are arguments
     to the maximum function call */
 printf( "Maximum is: %d\n",maximum(number1,number2,number3) );
 return 0; /* indicates successful termination */
 } /* end main */

/* Function maximum definition */
/* x, y and z are parameters */
int maximum( int x, int y, int z )
{
   int max = x; /* assume x is largest */

   if ( y > max ) { /* if y is larger than max, assign y to max */
     max = y;
   } /* end if */

   if ( z > max ) { /* if z is larger than max, assign z to max */
     max = z;
} /* end if */

return max; /* max is largest value */
} /* end function maximum */

Screenshots:


Format umum untuk definisi fungsi adalah :
return-value-type function-name( parameter-list)
{
definitions
statement
}

Tipe stetment  return-value-type  merupakan jenis nilai kembali ke fungsi panggilan. Jika fungsi tidak mengembalikan nilai , return - value -type dinyatakan sebagai declared seperti void .function-name adalah  valid identifier . Parameter -list adalahsebuah comma-separate  yang berisi definisi dari variabel-variabel yang akan dilewatkan ke fungsi . Jika fungsi tidak menerima nilai-nilai , parameter-list dinyatakan sebagai declared seperti void . Function -body adalah himpunan definisi dan pernyataan yang merupakan fungsi .

• Argumen yang dilewatkan ke fungsi harus sesuai dalam angka, tipe dan keteraturan dengan parameter dalam definisi fungsi .
• Ketika program bertemu dengan pemanggilan fungsi , kontrol ditransfer dari point  of infunction
untuk memanggil fungsi , stetment itu disebut fungsi yang dieksekusi dan kontrol kembali ke
pemanggil .
• Sebuah fungsi dapat mengembalikan kontrol ke pemanggil dalam satu dari tiga cara . Jika fungsi tidak mengembalikan nilai , kontrol dikembalikan ketika function-ending right brace tercapai , atau dengan menjalankan pernyataan
     return;

0 komentar:

Posting Komentar