Bagikan melalui


Contoh Program

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.

Lihat juga

File Sumber dan Program Sumber