Die Bedeutung von NULL-Zeiger



  • Hallo,
    ich habe eine funktion, die Zeiger enthält. Und in meinem Programm soll den Zeiger überprüft werden, ob er NULL oder nicht, bevor die Funktion aufgeruft wird.
    mein Code ist so :

     if(pApp != NULL) // pApp ist Zeiger 
      pApp->SetIcon (::LoadIcon (AfxGetInstanceHandle (), MAKEINTRESOURCE (IDR_MAINFRAME))); 
    

    was ich nicht verstehe, was man in else {} Anweißung schreiben kann, wenn pApp NULL ist . oder anderes gesagt, was bedeutet es, wenn Zeiger NULL ist .

    Danke schön



  • Das hängt davon ab, was der Zeiger bedeutet. Das solltest du wissen, ist ja schließlich dein Programm, wie du sagst.

    (Übrigens "enthält" die Funktion keine Zeiger, und was die Funktion tut ist außerdem irrelevant. Die Prüfung auf einen Nullzeiger ist notwendig, weil der Zeiger dereferenziert wird und offenbar nicht anderweitig sichergestellt ist, dass er nicht-null ist.)



  • Wenn du nicht weißt, was du ins else schreiben sollst, ist es vielleicht besser, keine Prüfung auf NULL zu machen.
    Ob der Zeiger geprüft wird oder nicht, ist an sich schon eine Aussage. Es kann durchaus sein, dass das Programm nicht sinnvoll funktionieren kann, wenn der NULL ist, d.h. es muss an anderen Stellen auf jeden Fall sichergestellt werden, dass er nicht NULL ist.


Anmelden zum Antworten