5. I Puntatori nulli

5.1 Cos'e` questo famigerato puntatore nullo?

5.2 Come ottengo un puntatore nullo nei miei programmi?

5.3 La forma abbreviata di comparazione per puntatori ``if(p)'' e` valida per verificare se il puntatore e` non nullo?

5.4 Cosa e` NULL e come e` definito tramite #define?

5.5 Come dovrebbe essere definito NULL su una macchina che usa una serire di bit diversi da zero come rappresentazione interna di un puntatore nullo?

5.6 Se NULL fosse definito come ``((char *)0),'' non farebbe funzionare le chiamate di funzioni che passano un NULL non convertito?

5.9 Se NULL e 0 sono equivalenti come costanti per puntatori nulli, quale dovrei usare ?

5.10 Ma non sarebbe meglio usare NULL, nel caso il valore di NULL cambi?

5.12 Uso il macro di preprocessore "#define Nullptr(type) (type *)0" per aiutarmi a costruire i puntatori nulli del tipo corretto.

5.13 Questo e` strano. NULL e` garantito essere 0, ma il puntatore nullo no?

5.14 Perche` c'e` cosi` tanta confusione attorno ai puntatori nulli?

5.15 Sono confuso. Non riesco a capire tutta questa roba del puntatore nullo.

5.16 Data tutta questa confusione attorno ai puntatori nulli, non sarebbe piu` facile semplicemente richiedere che siano rappresentati internamente da zeri?

5.17 Seriamente, esistono realmente macchine che usano puntatori nulli diversi da zero ?

5.20 Cosa significa un errore ``null puntatore assignment'' durante l'esecuzione ?


Cima