/*
See following declarations to know the difference between constant pointer
and a pointer to a constant. int * const ptr —> ptr is constant pointer.
You can change the value at the location pointed by pointer p,
but you can not change p to point to other location.
int const * ptr —> ptr is a pointer to a constant.
You can change ptr to point other variable.
But you cannot change the value pointed by ptr.
Therefore above program works well because we have a constant pointer and
we are not changing ptr to point to any other location.
We are only incrementing value pointed by ptr.
*/
#if 0
a pointer to a constant
#include <stdio.h>
int main()
{
int x = 5;
int const * ptr = &x;
++(*ptr);
printf("%d", x);
return 0;
}
output will be an error because const * ptr
#endif
//a constant to pointer
#include <stdio.h>
int main()
{
int x = 5;
int * const ptr = &x;
++(*ptr);
printf("%d", x);
return 0;
}
To embed this program on your website, copy the following code and paste it into your website's HTML: