Aracılığıyla paylaş


Örnek Program

Aşağıdaki C kaynak programı iki kaynak dosyadan oluşur. C programında mümkün olan çeşitli bildirimlerin ve tanımların bazılarına genel bir bakış sağlar. Bu kitabın sonraki bölümlerinde bu bildirimlerin, tanımların ve başlatmaların nasıl yazıldığı ve ve staticgibi extern C anahtar sözcüklerinin nasıl kullanılacağı açıklanmaktadır. İşlev printf , STDIO.H C üst bilgi dosyasında bildirilir.

ve main işlevlerinin max ayrı dosyalarda olduğu varsayılır ve programın yürütülmesi işleviyle main başlar. öncesinde mainhiçbir açık kullanıcı işlevi yürütülür.

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

DOSYA1. C işlevi için prototipi max içerir. İşlev kullanılmadan önce bildirildiğinden, bu tür bir bildirim bazen "iletme bildirimi" olarak adlandırılır. işlevinin tanımı, main çağrısı maxiçerir.

ile #define başlayan satırlar önişlemci yönergeleridir. Bu yönergeler, önişlemciye , ONEve tanımlayıcılarını TWOSıRAsıyla , THREEve 1sayılarıyla 2file1.C boyunca 3 değiştirmesini söyler. Ancak, yönergeler FILE2 için geçerli değildir. C, ayrı olarak derlenip FILE1.C ile bağlantılıdır. ile #include başlayan satır, derleyiciye STDIO dosyasını eklemesini söyler. H, işlevin prototipini printf içerir. Önişlemci yönergeleri Önişlemci Başvurusu'nda açıklanmıştır.

DOSYA1. C, ve agenel değişkenlerini b başlatmak için bildirimleri tanımlamayı kullanır. ve yerel değişkenleri cd bildirilir ancak başlatılmaz. Depolama tüm bu değişkenler için ayrılır. Statik ve dış değişkenler ve u, v otomatik olarak 0 olarak başlatılır. Bu nedenle yalnızca a, b, uve v açıkça veya örtük olarak başlatıldığından bildirildiğinde anlamlı değerler içerir. DOSYA2. C, için maxişlev tanımını içerir. Bu tanım FILE1.C içindeki çağrıları max karşılar.

Tanımlayıcıların ömrü ve görünürlüğü Yaşam Süresi, Kapsam, Görünürlük ve Bağlantı bölümünde ele alınıyor. İşlevler hakkında daha fazla bilgi için bkz . İşlevler.

Ayrıca bkz.

Kaynak Dosyalar ve Kaynak Programlar