Quelle est la différence entre NUL et NULL dans la programmation?


Réponse 1:

NUL est un caractère ASCII dont la valeur ascii est 0 alors que NULL est une macro définie dans stddef.h et plusieurs autres fichiers d'en-tête avec une valeur de ((void *) 0). c'est la raison pour laquelle NULL a également appelé pointeur NULL.

Les deux sont utilisés de manière interchangeable '(parce que 0 également appelé pointeur NULL qui est un caractère NUL de valeur ASCII) l'un avec l'autre sans connaissance appropriée du programmeur car il semble que les deux sont identiques mais la réalité ne l'est pas.

Chaîne C terminée par le caractère NUL ('\ 0') où nous initialisons la variable de pointeur NULL lorsque nous la déclarons. Étant donné que C prend en charge la conversion de type implicite, nous ne voyons aucun effet lorsque nous utilisons les deux de manière interchangeable. Mais c'est une bonne pratique d'utiliser à la fois le bon endroit.

C'est une mauvaise programmation

while (str [i]! = NULL) // converti implicitement en 0, qui est la valeur ASCII de NUL Bonne façon d'écrire l'expression ci-dessus while (str [i]! = '\ 0') // remplace par sa valeur ASCII 0 int * ptr = '\ 0'; // remplace par sa valeur ASCII 0 qui implicite l'adresse 0 Façon correcte d'écrire l'expression ci-dessus int * ptr = NULL; // remplacer par l'adresse 0

Réponse 2:

Si vous parlez de programmation standard, il n'y a pas de terme appelé NUL!

Fondamentalement, NULL en cas de programmation C peut être utilisé des manières suivantes:

macro nulle pointeur nul chaîne nulle (\ 0) constante constante 

Par exemple;

Lorsqu'un octet est mis à zéro, appelé caractère nul. Il est utilisé dans l'exécution de base pour terminer une chaîne définie.

Cependant, NUL est une variable définie par l'utilisateur!

  • C'est le nom du premier ensemble ASCII, correspondant à une valeur nulle. Vous pouvez le déclarer de cette façon:
#define NUL '\ 0'

Mais ce n'est pas préféré par les programmeurs. J'espère avoir répondu à votre question!

Codage heureux!