array von funktionspointern und NULL-pointer
-
hier is folgender ausschnitt aus einem Programm: ((es geht mir hauptsächlich um den NULL pointer
//in meinem "funktionierenden" code hab ich hier eine //nullfunktion(){}; //als NULL-pointer deklariert void blabla() { printf("blabla"); } int main() { void (*funktionen[10])(); //meine default initialisierung for(int i=0; i<10; i++) { (*funktionen[i])=NULL //oder eben "nullfunktion" statt "NULL" } //jetz weiss ich mitten im progrmm dyniamisch ein paar funktionen werte zu: (*funktionen[0])=blabla; (*funktionen[1])=blabla; (*funktionen[2])=blabla; /*so... und jetzt will ich alle Funktionen aufrufen, bis das "NUll-Element" drankommt:*/ int j=0; while((*funktionen[j])!=NULL) //oder ((*funktionen[j])!=nullfunktion) { (*funktionen[j])(); j++; } return 0; }
gibt es da irgendwas, was wie dieser Null pointer geht? wenn ich das Programm so ausführe wie jetzt, kompiliert es zwar, stürzt dann aber wegen speicherproblemen zusammen, deswegen hab ich z.Zt. statt dem NULL-pointer eine eigene "nullfunktion(){};" deklariert, die ich dann stattdessen verwende, aber es muss doch bestimmt auch sowas wie einen nulpointer dafür geben oder?
-
warum (*funktionen[i])=NULL und nicht funktionen[i]=NULL? und auch im vergleich.
void blabla() { printf("blabla"); } typedef void vf();//void fucktion typedef vf* pvf;//ptr to void function int main() { pvf funktionen[10]; for(int i=0; i<10; i++) { funktionen[i]=NULL; } funktionen[0]=blabla; funktionen[1]=blabla; funktionen[2]=blabla; int j=0; while(funktionen[j]!=NULL) { (*funktionen[j])(); j++; } return 0; }
-
volkard schrieb:
typedef void vf();//void fucktion
wo bist du den mit deinen gedanken
-
hmm. shit irgendwie sieht das jetz so einfach aus
sollte villeicht mal 'n bishen mehr mit typedef hantieren