Wie muss ich das "lesen"?


Zvoni

Erfahrenes Mitglied
Guten Morgen,

diesmal ne Frage von mir:
Ich bin gerade dabei, in Pascal die C-Bindings für eine C-Bibliothek zu schreiben, und bin auf folgendes "Konstrukt" gestossen:
Code:
/* in einer C-struct */
int irgendwas;
char *wasanderes;
double (*EineVariable)[2][EineKonstante]
Dieses "double...." --> Mich irritiert der stern "*" unheimlich, weil es aussieht wie ein Funktionszeiger in dem struct, was aber aufgrund der eckigen Klammern wohl kaum sein, sondern ein Array ist.

Jetzt meine Frage: Ist das ein Zeiger auf ein Array von double's, oder ein Array von Zeigern auf double's?
Oder ist es am Ende einfach ein Array von Double's, und der Stern ist nur deshalb da, weil eine Array-Variable eh immer ein Zeiger auf das erste Array-Element ist?

Wie schon oft erwähnt: bin kein C-ler, und für mich ist es immer ein Erfolg, wenn ich es schaffe, 5-6 Zeilen C-code zu lesen ohne dass ich anfange zu schiele.

Ausserdem, glaube ich, dass ich mir irgend ne seltsame Krankheit eingefangen habe....
...... ich fange an, C-Code zu verstehen.....
ich glaube ich muss mal zum Arzt...da stimmt was nicht
 
Zuletzt bearbeitet: