Zero è un valore numerico. È un definito con precise proprietà matematiche. (Puoi fare aritmetica su di esso ...)
NULL indica l'assenza di qualsiasi valore. Non puoi farci niente tranne provarlo.
Lo spazio vuoto è mal definito. Significa cose diverse in contesti diversi per persone diverse. Ad esempio:
- Qualcuno potrebbe indicare un valore di stringa di lunghezza zero:ovvero uno senza caratteri (
''
). - Qualcuno potrebbe indicare un valore di stringa di lunghezza diversa da zero costituito solo da caratteri non stampabili (SPACE, TAB, ecc.). O forse composto da un solo carattere SPACE.
- In alcuni contesti (in cui carattere e stringa sono tipi diversi), qualcuno potrebbe indicare un valore di carattere non stampabile.
- Qualcuno potrebbe anche significare "tutto ciò che non viene visualizzato quando lo stampi o lo visualizzi".
Il punto è che "vuoto" non ha un unico significato ben definito. Almeno non nella terminologia informatica (madrelingua) inglese. Probabilmente è meglio evitarlo... se vuoi che altri professionisti IT capiscano cosa intendi . (E se qualcun altro usa il termine e non è ovvio dal contesto, chiedi loro di dire esattamente cosa significano!)
Non possiamo dire nulla di generalmente significativo su come vengono rappresentati ZERO / NULL / BLANK, quanta memoria occupano o qualcosa del genere. Tutto ciò che possiamo dire è che sono rappresentati in modo diverso l'uno dall'altro .... e che la rappresentazione effettiva è implementazione e contesto dipendente .