[linux-l] do{ . } while (0) (was: Arrays in C)

Oliver Bandel oliver at first.in-berlin.de
Mi Nov 23 23:51:35 CET 2005


On Wed, Nov 23, 2005 at 08:55:18PM +0100, Axel Wei wrote:
> Frank Reker schrieb:
> > Am Tue 22. Nov 2005 23:31 +0000 schrieb Axel Weiß:
> > >Frank Reker schrieb:
> > >> es reicht hier aus in der makrodefinition die anweisungen in {} zu
> > >> setzen.
> > >
> > >Und was macht ein C-Compiler mit
> > >
> > >	{};
> >
> > das ist eine leere anweisung. im normalfall wird sie ignoriert.
> > hinter einem else bezeichnet es einen leeren block: also:
> > if (cond1) if (cond2) anw1; else {}; else  anw2;
> > auf diese weise bezieht sich anw2 auf das erste if. aber in dem
> > fall waere ein klammern des inneren if eine elegantere loesung:
> > if (cond1) {if (cond2) anw1;} else anw2;
> >
> > aber wofuer brauchst du das?
> 
> Hi Frank, hi Oliver,
> 
> ist das so schwer zu verstehen? Ich mach mal ein Beispiel:


Habe mich doch darum garnicht gekümmert.
Habe auch nix gefragt.
Habe nur auf das bezug genommen, was da gequoted wurde...

{}
ist ein Block in C.
Man kann am Anfang jedes Blockes auch lokale Variablen definieren...
...wissen übrigens die wenigsten, weshalb sie das lokale Definieren
von Variablen als "++" von C++ darstellen (im ggs. zu C) ;-)

Ciao,
   Oliver




Mehr Informationen über die Mailingliste linux-l