Példaprogram

A következő C forrásprogram két forrásfájlból áll. Áttekintést nyújt a C programban lehetséges különböző deklarációkról és definíciókról. A könyv későbbi szakaszai bemutatják, hogyan lehet megírni ezeket a deklarációkat, definíciókat és inicializációkat, és hogyan használhatja a C kulcsszavakat, például static és extern. A printf függvény deklarálva van az STDIO.H C fejlécfájlban.

A main függvények és max a függvények külön fájlokban vannak, és a program végrehajtása a main függvénysel kezdődik. A rendszer korábban mainnem hajt végre explicit felhasználói függvényeket.

/*****************************************************************
                    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 );
}

FÁJL1. A C tartalmazza a függvény prototípusát max . Ezt a deklarációt néha "továbbítási deklarációnak" is nevezik, mert a függvény a használat előtt deklarálva van. A függvény definíciója tartalmazza a main következő hívásokat max: .

Az első #define sorok előfeldolgozási direktívák. Ezek az irányelvek arra tájékoztatják az előfeldolgozót, hogy cserélje le az azonosítókat , és a számokat, 2illetve 3a fájl1.C fájlban lévő számokat1.THREETWOONE Az irányelvek azonban nem vonatkoznak a FILE2 fájlra. C, amely külön van lefordítva, majd a FILE1.C fájlhoz csatolva. A kezdő sor #include arra utasítja a fordítót, hogy tartalmazza az STDIO fájlt. H, amely tartalmazza a függvény prototípusát printf . Az előfeldolgozási irányelveket a preprocesszor-referencia ismerteti.

FÁJL1. A C definiáló deklarációkkal inicializálja a globális változókat a és ba . A helyi változók cd deklarálva vannak, de nincs inicializálva. A tárterület minden ilyen változóhoz ki van foglalva. A statikus és a külső változók, u valamint va , automatikusan 0-ra vannak inicializálva. Ezért csak a, b, ués v jelentéssel bíró értékeket tartalmaz, ha deklarálva vannak, mert azok inicializálva vannak, explicit vagy implicit módon. FÁJL2. A C a függvénydefiníciót maxtartalmazza. Ez a definíció megfelel a FILE1.C fájlban indított hívásoknak max .

Az azonosítók élettartamát és láthatóságát az Élettartam, a Hatókör, a Láthatóság és a Csatolás területen tárgyaljuk. A függvényekkel kapcsolatos további információkért lásd: Functions.

Lásd még

Forrásfájlok és forrásprogramok