No nic, mír s vámi...
+1
Napr string.h obsahuje
#define NULL 0
A můžeš zaručit, že totéž bude ve všech možných kompilátorech na veškerých platformách, exitujících v minulosti i budoucnosti? Oni tvůrci jazyka C byli poněkud zkušenější, proto je norma v některých věcech až příliš volná...
Pokud funkce vrací
NULL, předpokládám že dostanu něco jako 0x
00000000, aspoň u části dnes používaných procesorů.
Ale pokud vrací
'\0', může to být klidně 0x
00FAB059, nebo něco ještě šílenějšího, v závislosti na šířce slova a endianitě!
O čísle
0 ani nemluvě.
Ten toaletní obrázek to vystihuje naprosto dokonale, a zároveň poslouží jako test nedostatku abstrakce u těch, kteří ho okamžitě nepochopili
