Tuesday, February 14, 2012

What is constant pointer and pointer to the constant?


C/C++ supports read-only declaration of the variable by using const key word. so that it cant be modified/changed later. values will be assined to the const variables at the time of declaration only.

main()
{
const char a='A'; // declaration n initialization
//a='a'; // Illegal, cant modify the constant variable
}
Pointer to the Constant: This means a pointer to the constant variable like any other variable. But here the difference is, we cant able change the value of the variable. But we can assign as many pointers as we can.

main()
{
char a='A';
const char *ptr = &a; // pointer to the constant
//*ptr='a'; //illegal cant change the constant value
const char *ptr1 = &a; // another pointer to the constant value
}
Constant Pointer: This means its a constant pointer and once it is assigned one address and it cant be reassined to another address. But value can be reassigned/changed.

main()
{
char a='A';
char b='B';
char *const ptr = &a; // pointer to the constant
//ptr = &b; //Illegal another pointer to constant pointer not allowed
*ptr='a'; //legal, can change the value
}

No comments:

Popular Posts