1. Cos’è NULL nel linguaggio C?
Nel linguaggio C, NULL è un concetto cruciale. Si tratta di una costante speciale utilizzata per indicare che un puntatore non punta a un indirizzo di memoria valido. Mentre i puntatori tipicamente fanno riferimento a posizioni di memoria specifiche, se non puntano a nulla, vengono impostati su NULL. Questa è una misura essenziale per garantire la stabilità del programma e prevenire accessi non validi alla memoria.
Definizione di NULL
NULL è definito in <stddef.h> ed è equivalente al valore intero 0. Ad esempio, è possibile inizializzare un puntatore a NULL come mostrato di seguito:
#include <stddef.h>
int *ptr = NULL;
Questo mostra esplicitamente che il puntatore non fa riferimento a un indirizzo di memoria valido. Quando l’allocazione di memoria fallisce, viene restituito NULL e viene utilizzato per la gestione degli errori.
Differenza tra NULL e Altri Valori Speciali
NULL viene spesso confuso con il valore numerico 0 o il carattere nullo ' ' utilizzato per terminare le stringhe. Ognuno ha uno scopo diverso, quindi è richiesta cautela.
- NULL : Indica un puntatore non valido.
- 0 : Il valore numerico zero.
- ‘
