Un caracter nul în programarea computerelor este un caracter cu valoarea zero. Este diferit de cifra zero, care face parte din setul de caractere tipărit standard. Null este de fapt un caracter de control cu indicele zero. Este folosit pentru a indica faptul că o variabilă, o clasă sau un indicator este gol, nedefinit sau inițializat. Un null este, de asemenea, folosit în limbajul de programare C pentru a marca sfârșitul unui șir de caractere.
Caracterul nul a fost inițial unul dintr-o serie de caractere de control speciale utilizate pentru a comunica cu hardware-ul periferic, cum ar fi imprimantele sau unitățile de bandă. Sensul inițial al lui null a fost de a instrui un dispozitiv să nu facă nimic. Pe măsură ce tehnologia a devenit mai sofisticată, caracterele de control au fost mai puțin necesare pentru interfața cu dispozitivele externe. Nulul a rămas în cele mai multe seturi de caractere, totuși, la poziția zero.
Multe limbaje de programare folosesc caracterul nul pentru a indica faptul că o valoare nu a fost atribuită unei variabile, pointer sau clasă. Valoarea null este adesea definită în bibliotecile de bază ale limbajului de programare ca valoarea „/0”, care se traduce într-un singur caracter gol. O variabilă cu valoarea nulă nu are valoarea zero. Zero este un cod de caracter complet diferit, astfel încât testele de echivalență între zero și null vor arăta un rezultat fals. Acest lucru este prin proiectare, deoarece zero poate fi o valoare validă pentru o variabilă.
Limbajul de programare cunoscut sub numele de C folosește caracterul nul cu mare efect pentru a economisi spațiu de memorie. Caracterul nul este folosit ca sfârșit al unui șir de caractere, numit și șir terminat nul. Acest lucru permite programului să stocheze un șir de caractere având nevoie de doar un octet suplimentar pentru a menține terminatorul nul. Caracterul nul nu a putut fi afișat și nu a fost folosit în niciun alt scop, așa că acest sistem a funcționat bine.
Limbile care au apărut după ce C au început să folosească null pentru a inițializa noi variabile și clase. Majoritatea specificațiilor de limbă garantează de fapt că variabilele nou declarate vor fi egale cu nul. În mod similar, variabilelor li se poate atribui valoarea nulă pentru a indica faptul că nu au valoare sau că nu indică nicio locație de memorie.
Anumite limbaje orientate pe obiecte pot folosi caracterul nul în timpul procesului de colectare a gunoiului. Dacă o variabilă care deține o instanță a unei clase este setată la nul, datele devin inaccesibile dacă nu se referă altfel de către o altă variabilă. Mecanismul de colectare a gunoiului, care eliberează memoria care era folosită anterior, detectează datele acum inaccesibile și le readuce la pool-ul de memorie disponibil. Atribuirea explicită a unei variabile la null este uneori considerată un stil de programare slab.