Assigning value to pointer

why assigning pointer variable to 0 value do not give compilation error but not the case with any other integer

Refer this

@Ritesh_jindal
I hope your doubt is clear by reading the stackoverflow link shared by Pratyush.
you can also verify it by

    int *ptr = 0;
    cout<<(ptr)<<endl;
    int *ptr2 = NULL;
    cout<<ptr2;