Programiranje u C-u

  

PRETPROCESORSKI IZRAZI
Naredba define se koristi da učini program čitljivijim i dozvoljava korištenje makroa. Pogledajte slijedeće primjere,

        #define TRUE    1    /* Na koristi se točka-zarez, # mora biti prvi karakter u liniji */
        #define FALSE   0
        #define NULL    0
        #define AND     &
        #define OR      |
        #define EQUALS  ==

                        game_over = TRUE;
                        while( list_pointer != NULL )
                                ................

Makroi

Makroi su dio koda koji su zamijenjeni za vrijeme prevođenja.Definicija makroa koji pri pozivu prihvaća argument,

        #define  SQUARE(x)  (x)*(x)
        y = SQUARE(v);
U ovom slučaju, v je izjednačen sa x u makro definiiciji 'square', pa je varijabli y pridružen kvadrat od v. Zagrade u definiciji makroa 'square' su nužne za točnu procjenu. Makro postaje
        y = (v) * (v);

Naravno, definicije makroa također mogu sadržavati i druge definicije makroa,

        #define IS_LOWERCASE(x)  (( (x)>='a') && ( (x) <='z') )
        #define TO_UPPERCASE(x)  (IS_LOWERCASE (x)?(x)-'a'+'A':(x))

        while(*string) {
                *string = TO_UPPERCASE(*string);
                ++string;
        }

©Copyright B Brown. 1984-1998. All rights reserved.