pointer array initialisieren
-
Hallo,
ich habe in einem Programm ein array mit pointern.
int i; SDL_Surface *surfaces[5]; // set pointers to NULL for(i=0; i<5; i++) { surfaces[i] = NULL; }
Werden die pointer so korrekt auf NULL gesetzt?
Kann man das auch direkt angeben, ohne die schleife?würde das so gehen?
SDL_Surface *surfaces[5] = {NULL};
-
Auf alle Fragen ist die Antwort Ja.
-
engitiny schrieb:
würde das so gehen?
SDL_Surface *surfaces[5] = {NULL};
NULL ist nichts anders als 0.
-
engitiny schrieb:
Kann man das auch direkt angeben, ohne die schleife?
memset (surfaces, 0, sizeof (surfaces));
-
-lowbyte- schrieb:
engitiny schrieb:
würde das so gehen?
SDL_Surface *surfaces[5] = {NULL};
NULL ist nichts anders als 0.
Nein, ist es nicht. Du denkst gerade an C++. In C ist das in aller Regel so etwas wie
(void*)0
.
-
SeppJ schrieb:
-lowbyte- schrieb:
engitiny schrieb:
würde das so gehen?
SDL_Surface *surfaces[5] = {NULL};
NULL ist nichts anders als 0.
Nein, ist es nicht. Du denkst gerade an C++. In C ist das in aller Regel so etwas wie
(void*)0
.Und das ist 0
-
Depp. Natürlich nicht.
-
SeppJ schrieb:
-lowbyte- schrieb:
engitiny schrieb:
würde das so gehen?
SDL_Surface *surfaces[5] = {NULL};
NULL ist nichts anders als 0.
Nein, ist es nicht. Du denkst gerade an C++. In C ist das in aller Regel so etwas wie
(void*)0
.Na klar sorry. Ist ein typenloser Zeiger auf 0.
-
Ne, es ist ein eiger vom Typ
void *
aufNULL
. *scnr*