Forum: PC-Programmierung C Array Deklaration


von Didi (Gast)


Lesenswert?

Hallo Forum,

folgendes vereinfachtes Beispiel habe ich neulich gesehen. Was macht 
hier const (a,b) ??? Danke.

const (a,b) abc[3] = {def,ghi,jkl};

Grüße

von foobar (Gast)


Lesenswert?

Nen Syntax-Error. War wohl nichts mit der Vereinfachung ...

von A. S. (Gast)


Lesenswert?

foobar schrieb:
> Nen Syntax-Error. War wohl nichts mit der Vereinfachung

Naja, da er zumindest 3 token vorher (für uns versteckt) declariert hat, 
... Wer weiss, zu was a,b und const expandieren?

von Rolf M. (rmagnus)


Lesenswert?

Achim S. schrieb:
> Wer weiss, zu was a,b und const expandieren?

Gut, const könnte als Makro definiert sein. Dann würden es die meisten 
Compiler vermutlich durchlassen, aber verboten ist es trotzdem.

von A. S. (Gast)


Lesenswert?

Rolf M. schrieb:
> Gut, const könnte als Makro definiert sein.

Oh, es gibt (glaube ich) ganz fiese sachen. const könnte eine 
Funktions-Deklaration aufmachen, a macht die klammer zu und ein neues 
makro auf, dass 2 Parameter nimmt, wobei b der zweite ist.
1
#define const       void foo
2
#define a           void); FOO2(1
3
#define FOO2(x,y)   int
4
5
    sollte nacheinander expandieren zu 
6
    void foo (a,b) 
7
    void foo (void); FOO2(1,b)
8
    void foo (void); int

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.