Variablen Deklaration Logik?

OP #3189328
Lesenswert?
• ▲
▼
hallo,

ich hab mir immer vorgestellt, dass bei
1
int x;
2

3
int* y;

links steht um was es sich handelt und rechts der Bezeichner für eine 
Variable steht. also x ist ein integer... und y ist ein zeiger auf einen 
integer...

aber vermute ich, dass da eine andere logik dahintersteht... was ja 
sichtbar wird bei
1
int *z;
2

3
int (*foo)(int);

z ist jetzt auch ein zeiger auf einen integer... was ist jetzt aber die 
logik "dahinter", dass man das jetzt so schreibt... jetzt kann man ja 
nicht mehr sagen, dass links das was und rechts der bezeichner steht. 
bei dem funktionspointer foo kommt das vielmehr zur geltung...

nach meiner links-rechts-logik muesste es also irgendwie so heissen
1
int* z;
2

3
int (*function)(int) foo;

kann mir einer also die richtige logik "dahinter" erklaeren?

und warum muss eigentlich eine klammer um das *foo... koennte es also 
nicht auch heissen
1
int *foo (int);
2

3
*(int foo (int));

??

danke schonmal

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren