hallo,
ich hab mir immer vorgestellt, dass bei
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