Jaký je rozdíl mezi NUL a NULL v programování?


Odpověď 1:

NUL je znak ASCII, jehož hodnota ascii je 0, kde jako NULL je makro definované v stddef.ha několik dalších hlavičkových souborů s hodnotou ((void *) 0). proto NULL také nazývá ukazatel NULL.

Oba používali zaměnitelně “(protože 0 také nazývaný ukazatel NULL, což je hodnota ASCII hodnoty NUL) mezi sebou bez řádné znalosti programátora, protože se zdá, že oba jsou stejné, ale realita není.

Řetězec C zakončený znakem NUL ('\ 0'), kde inicializujeme proměnnou ukazatele NULL, když ji deklarujeme. Protože C podporuje implicitní převod typu, není žádný efekt, který vidíme, když budeme používat oba zaměnitelně. Je však dobré používat správné místo.

To je špatné programování

while (str [i]! = NULL) // implicitně převeden na 0, což je hodnota ASCII NUL Správný způsob zápisu nad výrazem, zatímco (str [i]! = '\ 0') // nahradí jeho hodnotou ASCII 0 int * ptr = '\ 0'; // nahradit jeho hodnotou ASCII 0, což implicitní adresu 0 Správný způsob zápisu nad výraz int * ptr = NULL; // nahradit adresou 0

Odpověď 2:

Pokud mluvíte o standardním programování, pak neexistuje žádný takový termín nazývaný NUL!

V zásadě lze NULL v případě programování C použít následujícími způsoby:

null makro nulový ukazatel nulový řetězec (\ 0) null konstanta 

Například;

Když je bajt nastaven na nulu, nazývá se nulový znak. Používá se v základním provedení k ukončení definovaného řetězce.

NUL je však uživatelem definovaná proměnná!

  • Je to jméno první sady ASCII, což odpovídá nulové hodnotě. Můžete to prohlásit takto:
#define NUL '\ 0'

Ale programátoři to nepřednostní. Doufám, že jsem odpověděl na vaši otázku!

Happy Coding!