struct-Zeiger an Funktion übergeben
-
Guten Tag!
Ich stehe vor einem großen Problem. Ich möchte einen struct-Zeiger an eine Funktion übergeben. Da ich nicht die Variable kopieren möchte, muss ich sie anders übergeben. Jedoch ist in der Sprache C kein Referenzparameter möglich, sondern nur ein Call-by-Pointer. Ich bin da auch nicht wirklich begabt mit Zeigern...
Konkret sieht es so aus:#include <SDL/SDL.h> #include <SDL/SDL_ttf.h> int main() { ... TTF_Font *Schrift; //"TTF_Font Schrift;" nicht möglich LadeSchrift(&Schrift, "Arial.ttf", 24); ... } int LadeSchrift(TTF_Font *Schriftzeiger, char *Schriftdatei, int Schriftgrad) { Schriftzeiger = TTF_OpenFont(Schriftdatei, Schriftgrad); ... }
Hoffe, ihr versteht was ich meine.
Liebe Grüße
Kerla
-
Du willst den Zeiger aus der Main verändern, also mußt Du einen Zeuiger darauf übergeben! Also einen Zeiger auf einen Zeiger.
int LadeSchrift(TTF_Font **Schriftzeiger, char *Schriftdatei, int Schriftgrad) { *Schriftzeiger = TTF_OpenFont(Schriftdatei, Schriftgrad); ... }
-
Danke, Volkard! Es klappt nun!