Programmeren in C/C-Preprocessor: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Regel 40:
 
<source lang="c">
/* definiëer FOOBAR */
#define FOOBAR 123
 
/* en "ondefinieer" FOOBAR weer */
#undef FOOBAR
</source>
 
Het is een goede gewoonte (en is bij professionele organisaties veplicht) om namen van macros uitsuiltend in ''uppercase'' te schrijven, ter onderscheiding van variabelen en functies. Iedere ervaren programmeur heeft zich al eens het hoofd gebroken over het onverwachtte gedrag dat voortvloeit uit verwarring omtrent dit onderscheid. Het resultaat bestaat meestal uit rare compiler-foutmeldingen (de macro-expansie is immers prima gelukt) in stukken code die er verder prim uitzien, of onverwacht gedrag in ''runtime''. Ervaring is recht evenredig met het aantal fouten dat je gemaakt hebt, zegt men dan.
Omdat sommige macro-definities vrij lang zijn, kunnen meerdere regels worden gebruikt. Dit wordt aangegeven door middel van een ''backslash'' ('''\''') direct voor het ''newline''-karakter. Dat wil zeggen na de ''backslash'' geen spaties of tabs meer mogen volgen. Technisch gesproken is dit het ''escaping the newline'', het ontsnappen aan het nieuwe-regel-karakter. De backslash staat dan ook wel bekend als een ''escape''.
 
Omdat sommige macro-definities vrij lang zijn, kunnen meerdere regels worden gebruikt. Dit wordt aangegeven door middel van een ''backslash'' ('''\''') direct voor het ''newline''-karakter. Dat wil zeggen dat na de ''backslash'' geen spaties of tabs meer mogen volgen. Technisch gesproken is dit het "''escaping the newline''", het ontsnappen aan het nieuwe-regel-karakter. De backslash staat dan ook wel bekend als een ''escape''.
 
<source lang="c">
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.