C pointer to constant objects
Pointer to Constant Objects :
- Pointer to a Constant Object is called as ‘Pointer to Constant Object’
Syntax :
const data-type *pointer_name ;
Example :
int n = 30 ; const int ptr; ptr = &n;
What does it means ?
- “const int” means integer is constant.
- We cannot change value of the integer.
- Pointer to Such Object cannot be changed.
- We can change address of such pointer so that it will point to new memory location.
Following is illegal use of const int pointer -
*ptr = 20 ;
however we can use this legally -
ptr++
is valid in this Case !!!
Example 1 : How const int Pointer works ?
#include<stdio.h> int main() { int num[2] = {10,20}; const int *ptr; ptr = &num[0]; printf("%d",*ptr); return(0); }
Output:
10
Example 2 : Increment const int Pointer
#include<stdio.h> int main() { int num[2] = {10,20}; const int *ptr; ptr = &num[0]; ptr++; printf("%d",*ptr); return(0); }
Output :
20
Example 3 : Assigning Value to const int pointer
#include<stdio.h> int main() { int num[2] = {10,20}; const int *ptr; ptr = &num[0]; *ptr = 30; printf("%d",*ptr); return(0); }
Output :
Compile Error