Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Program sumber C berikut terdiri dari dua file sumber. Ini memberikan gambaran umum tentang beberapa berbagai deklarasi dan definisi yang mungkin dalam program C. Bagian selanjutnya dalam buku ini menjelaskan cara menulis deklarasi, definisi, dan inisialisasi ini, dan cara menggunakan kata kunci C seperti static
dan extern
. Fungsi printf
ini dideklarasikan dalam file header C STDIO.H.
Fungsi main
dan max
diasumsikan berada dalam file terpisah, dan eksekusi program dimulai dengan fungsi main
. Tidak ada fungsi pengguna eksplisit yang dijalankan sebelum main
.
/*****************************************************************
FILE1.C - main function
*****************************************************************/
#define ONE 1
#define TWO 2
#define THREE 3
#include <stdio.h>
int a = 1; // Defining declarations
int b = 2; // of external variables
extern int max( int a, int b ); // Function prototype
int main() // Function definition
{ // for main function
int c; // Definitions for
int d; // two uninitialized
// local variables
extern int u; // Referencing declaration
// of external variable
// defined elsewhere
static int v; // Definition of variable
// with continuous lifetime
int w = ONE, x = TWO, y = THREE;
int z = 0;
z = max( x, y ); // Executable statements
w = max( z, w );
printf_s( "%d %d\n", z, w );
return 0;
}
/****************************************************************
FILE2.C - definition of max function
****************************************************************/
int max( int a, int b ) // Note formal parameters are
// included in function header
{
if( a > b )
return( a );
else
return( b );
}
FILE1. C berisi prototipe untuk fungsi max
tersebut. Deklarasi semacam ini terkadang disebut "deklarasi maju" karena fungsi dideklarasikan sebelum digunakan. Definisi untuk fungsi main
ini mencakup panggilan ke max
.
Baris yang dimulai dengan #define
adalah arahan praprosesor. Arahan ini memberi tahu praprosesor untuk mengganti pengidentifikasi ONE
, TWO
, dan THREE
dengan angka 1
, 2
, dan 3
, masing-masing, di seluruh FILE1.C. Namun, arahan tidak berlaku untuk FILE2. C, yang dikompilasi secara terpisah lalu ditautkan dengan FILE1.C. Baris yang dimulai dengan #include
memberi tahu kompiler untuk menyertakan file STDIO.H, yang berisi prototipe untuk fungsi printf
. Arahan praprosesor dijelaskan dalam Referensi Praprosesor.
FILE1.C menggunakan deklarasi pendefinisian untuk menginisialisasi variabel a
global dan b
. Variabel lokal c
dan d
dinyatakan tetapi tidak diinisialisasi. Penyimpanan dialokasikan untuk semua variabel ini. Variabel statis dan eksternal, u
dan v
, secara otomatis diinisialisasi ke 0. Oleh karena itu hanya a
, b
, u
, dan v
berisi nilai yang bermakna ketika dinyatakan karena diinisialisasi, baik secara eksplisit maupun implisit. FILE2.C berisi definisi fungsi untuk max
. Definisi ini memenuhi panggilan ke max
di FILE1.C.
Masa pakai dan visibilitas pengidentifikasi dibahas dalam Masa pakai, Cakupan, Visibilitas, dan Tautan. Untuk informasi selengkapnya tentang fungsi, lihat Fungsi.