www.amapro.cz & David Bazala [Programování]

Otevře webové stránky AmaPro


Otevře hlavní stránku společnosti AmaPro
Internetové stránky určené pro studenty středních a vysokých odborných škol.


amapro.cz/odkazy Projekt eliminuje vyhledávání klíčových slov na komerčních stránkách a v e-schopech.



Nový projekt AmaPro

#undef

 

Je speciální příkaz C pro tzv. preprocesor, který probíhá ještě před vlastním překladem. Je to specifikace C, kterou například PASCAL nemá. Využití těchto speciálních příkazů ve zdrojových kódech a jeho úkolem je ukončovat definici platnosti definovaných maker ve zdrojovém souboru.  Tato direktiva se používá jen málo kdy, zpravidla platnost makra končí, když preprocesor opustí daný zdrojový soubor.

 

PŘÍKLAD: #undef_1

#pragma hdrstop                                                                //pomocná informace pro preprocesor

#include <iostream.h>                                                          //vkládání jiného zdrojového souboru

//---------------------------------------------------

#pragma argsused                                                               //pomocná informace pro preprocesor

int main(int argc, char* argv[])                                   //hlavní funkce konzolové aplikace

{

#define pokus(x) {cout<<x<<endl;x=0;}                  //první definice makra s názvem pokus

int x=0;                                                           //alokace a inicializace proměnné x jako int

x=1234;                                                                        //modifikace proměnné x

pokus(x);                                                                      //rozvíjení obsahu makra pokus(x)

cout<<x<<endl;                                                                //výstup na obrazovku

#undef pokus(x)                                                                //ukončení platnosti makra s názvem pokus(x)

#define pokus {cout<<x<<endl;x=255;}                   //druhá definice makra s názvem pokus

x=1234;                                                                        //modifikace proměnné x

pokus;                                                                         //rozvíjení obsahu makra pokus

cout<<x<<endl;                                                                //výstup na obrazovku

#undef pokus                                                                   //ukončení platnosti makra s názvem pokus

getchar();                                                                    //cekání na entr

return 0;                                                                     //výstup z konzolové aplikace

}

 

Příklad demonstruje využití příkazu #undef, které ruší platnost makra, které bylo dříve definované. První makro pokus(x) je s parametrem x. Všimněme si, že proměnná x je dříve definovaná v #define než je skutečná alokace pomocí int. Preprocesor použije proměnnou x až při rozvinutí makra a tedy v ten okamžik bude již překladač proměnnou x znát. Vizuálně pokus(x) působí jako volání funkce, ale není tomu tak. Preprocesor rozvine pouze programový kód, který je uveden za #define. Následně #undef ruší platnost definovaného makra pokus(x). Další příkaz #defin vytváří platnost nového makra se stejným jménem, ale již s jiným obsahem. Po ukončení zpracování zdrojového souboru platnost všech maker se automaticky ruší.

 

 



Abecední seznam všech článků Vyhledání pojmů ve článcích




Databáze obrázků
Malé a velké obrázky, podlkady, tlačítka, okrasné čáry a pod.
datove_zdroje/obrazky
Procesory a mikroprocesory
Obecný úvod do základů mikroprocesorové techniky, architektury počítačů
knihy/mikroprocesory/obsah_mikro2.php
Weby o programování
Odkazy na velké servery o programování a vývoji SW
odkazy/programovani
Odkazník o programování
Rejstřík klíčových slov pro programování ve vyhledávačích.
programovani/programovani.php
JavaScript - ukázky
Příklady užití některých často používaných efektů na stránky.
katalogy/javascript
Mikropočítače
Seznámení s obecnou problematikou počítačů a mikropočítačů.
programovani/mikropocitace
PHP práce s poli
Práce s poli a položkamy v PHP.
stranky/php_array
Programování PHP
Články o programování webových stránek pomocí PHP.
internet/katalog_programovani_php
Animované obrázky
Animované gify a malé obrázky pro všeobecné využití.
datove_zdroje/animace
Otevře stránky Fulltextové vyhledávání na celém serveru
Digitalizované odborné knihy
Velká encyklopedie pojmů a zkratek
Česko - anglicko - německý technický slovník
Klasický katalog firem, služeb a stránek
OnLine překladač  vět a textů (nepoužívá Google)
Stránky pro chvíle oddechu od studia, relaxace
Katalog českých firem dle technologií
Internetový odkazník
Otevře hlavní stranu pro oddíl programování




 Wikipedie   Seznam stránek   Kapitoly témat   Významné servery   Klíčová slova 








Otevře hlavní stranu společnosti AmaPro

Všechna práva vyhrazena. Určeno jen pro osobní využití. Bez předchozího písemného souhlasu správce www.amapro.cz je zakázána jakákoli další publikace, přetištění nebo distribuce jakéhokoli materiálu nebo části materiálu zveřejněného na www.amapro.cz a to včetně šíření prostřednictvím elektronické pošty. Články, jejichž přímým autorem není amapro.cz lze publikovat pouze se souhlasem jejich majitelů či administrátoru příslušného webu.