Quina diferència hi ha entre NUL i NULL en la programació?


Resposta 1:

NUL és un caràcter ASCII que el valor ascii és 0 on com NULL és una macro definida a stddef.h i diversos fitxers de capçalera més amb el valor de ((void *) 0). per això NULL també es diu punter NULL.

Tots dos s'utilitzen de forma intercanviable '(perquè 0 també es diu punter NULL que és ASCII valor NUL caràcter) entre ells sense un coneixement adequat del programador perquè sembla que tots dos són iguals, però la realitat no ho és.

Cadena C finalitzada amb el caràcter NUL ('\ 0') on inicialitzem la variable de punter NULL quan la declarem. Com que la conversió de tipus implícita és compatible amb C, no hi ha cap efecte que veiem quan els fem servir de forma intercanviable. Però és bona pràctica utilitzar tant el lloc adequat.

Aquesta és una mala programació

while (str [i]! = NULL) // convertit implícitament a 0, que és el valor ASCII de NUL Una forma adequada d’escriure a sobre de l’expressió while (str [i]! = '\ 0') // substituir pel seu valor ASCII 0 int * ptr = '\ 0'; // substituir pel seu valor ASCII 0 quina adreça implícita 0 Forma adequada per escriure a sobre de l'expressió int * ptr = NULL; // substituir per l’adreça 0

Resposta 2:

Si parleu de programació estàndard, no hi ha cap terme anomenat NUL!

Bàsicament, NULL en cas de programació C es pot utilitzar de les maneres següents:

nul macro punter null null cadena nul (\ 0) constant constant 

Per exemple;

Quan un byte es defineix en zero, es diu caràcter nul. S'utilitza en l'execució bàsica per finalitzar una cadena definida.

Tanmateix, NUL és una variable definida per l’usuari!

  • És el nom del primer conjunt ASCII, que correspon a un valor zero. Podeu declarar així:
#define NUL '\ 0'

Però no són preferits pels programadors. Espero haver respost a la teva pregunta.

Codificació feliç!