Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.