GeeksforGeeks

NULLL Pointer:
A constante inteira zero(0) tem significados diferentes, dependendo de ser usada. Em todos os casos, é uma constante inteira com o valor 0, apenas descrita de maneiras diferentes.
Se algum ponteiro estiver sendo comparado com 0, então esta é uma verificação para ver se o ponteiro é um ponteiro nulo. Este 0 é então referido como uma constante de ponteiro nulo. A norma C define que 0 é datilografado para (void *) é tanto um ponteiro nulo como uma constante de ponteiro nulo.
A macro NULL é fornecida no ficheiro de cabeçalho “stddef.h”.

Below são as formas de verificação para um ponteiro NULL:

  • NULL é definido para comparar igual a um ponteiro nulo como:
    if(pointer == NULL)
  • Below if statement implicitly checks “is not 0”, então revertemos isso para significar “is 0” como:
    if(!pointer) 

NULOS Caracteres(‘\0’):
‘\0′ está definido para ser um caracter nulo. É um caractere com todos os bits definidos como zero. Isto não tem nada a ver com apontadores. \0’ é (como todos os caracteres literais) uma constante inteira com o valor zero.

  1. Below verifica se o ponteiro da string está apontando para um caractere nulo.
    if (!*string_pointer)
  2. Alargo verifica se o ponteiro da string está apontando para um caractere não-nulo.
    if (*string_pointer)

Em linguagem C a string não é nada além de um array do tipo char. Ele armazena cada um dos caracteres em um espaço de memória de 1 byte. Cada array é terminado com ‘\0’ ou caracter nulo mas se armazenarmos um ‘0’ dentro de uma string ambos não são iguais de acordo com a linguagem C. ‘0’ significa 48 de acordo com a tabela ASCII enquanto que ‘\0’ significa 0 de acordo com a tabela ASCII.

Below is the C program to print the value of ‘\0’ and ‘0’:

#include <stdio.h>
intmain()
{
printf("\\0 is %d\n", '\0');
printf("0 is %d\n", '0');
return0;
}



Output:

\0 is 00 is 48

Article Tags :

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *