12.07.2015 Views

Programski jezik C - Pmf

Programski jezik C - Pmf

Programski jezik C - Pmf

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8.4. UVJETNO UKLJUČIVANJE 139Uvjet koji se pojavljuje u #if naredbi je konstantan cjelobrojni izraz.Nula se interpretira kao laž, a svaka vrijednost različita od nule kao istina.Simbolička imena se prije izračunavanja izraza zamijenjuju svojim vrijednostima.Ukoliko se u uvjetu pojavi simboličko ime koje nije prije toga definiranonekom #define naredbom, ono se zamijenjuje nulom.Najčešće se uključivanje odnosno isključivanje dijela kôda pomoću naredbe#if čini u ovisnosti o tome da li je neka varijabla definirana ili nije.Tu nam pomaže izraz defined(ime) koji daje 1 ako je ime definirano, a 0ako nije. Na primjer,#if !defined(__datoteka.h__)#define __datoteka.h__/* ovdje dolazi datoteka.h */#endifAko varijabla datoteka.h nije definirana ona će u sljedećoj #define naredbibiti definirana i datoteka.h će biti uključena. U suprotnom će cijeladatoteka.h biti jednostavno preskočena. To je standardna tehnika kojomse izbjegava višestruko uključivanje .h datoteka u program (provjerite npr.datoteku stdio.h).Budući da se konstrukcije #if defined i #if !defined često pojavljujupostoje kraći izrazi s istim značenjem: #ifdef i #ifndef. Tako smo prethodnukonstrukciju mogli napisati u obliku#ifndef __datoteka.h__#define __datoteka.h__/* ovdje dolazi datoteka.h */#endifZagrade oko varijabli nisu obavezne.Napomena. #ifdef ime i #if ime su ekvivalentne naredbe ako je imesimboličko ime koje, kad je definirano, daje cjelobrojni konstantan izraz,različit od nule. □Složene if naredbe grade se pomoću #else i #elif, koji ima značenjeelse if. Na primjer,#if SYSTEM == SYSV#define DATOTEKA "sysv.h"#elif SYSTEM == BSD

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!