Difference between NULL pointer, Null character (‘\0’) and ‘0’ in C with Examples

NULL Pointer:
The integer constant zero(0) has different meanings depending upon it’s used. In all cases, it is an integer constant with the value 0, it is just described in different ways.
If any pointer is being compared to 0, then this is a check to see if the pointer is a null pointer. This 0 is then referred to as a null pointer constant. The C standard defines that 0 is typecast to (void *) is both a null pointer and a null pointer constant.
The macro NULL is provided in the header file “stddef.h”.

Below are the ways to check for a NULL pointer:

  • NULL is defined to compare equal to a null pointer as:
    if(pointer == NULL)
    
  • Below if statement implicitly checks “is not 0”, so we reverse that to mean “is 0” as:
    if(!pointer) 
    

Null Characters(‘\0’):
‘\0’ is defined to be a null character. It is a character with all bits set to zero. This has nothing to do with pointers. ‘\0’ is (like all character literals) an integer constant with the value zero.

  1. Below statement checks if the string pointer is pointing at a null character.
    if (!*string_pointer)
    
  2. Below statement checks if the string pointer is pointing at a not-null character.
    if (*string_pointer)
    

In C language string is nothing but an array of char type. It stores each of the characters in a memory space of 1 byte. Each array is terminated with ‘\0’ or null character but if we store a ‘0’ inside a string both are not same according to the C language. ‘0’ means 48 according to the ASCII Table whereas ‘\0’ means 0 according to the ASCII table.

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

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to print the value of
// '\0' and '0'
#include <stdio.h>
  
// Driver Code
int main()
{
    // Print the value of
    // '\0' and '0'
    printf("\\0 is %d\n", '\0');
    printf("0 is %d\n", '0');
    return 0;
}

chevron_right


Output:

\0 is 0
0 is 48
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.