# Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

## What is Constant Pointers [ Const Pointer ] in C Programming :

• As name suggests , Constant Pointers Cannot be modified .
• Modification in Integer to which it Points to is Allowed
• Modification made in Pointer is Not Allowed

Syntax Declaration :

data_type * const Pointer_name = Initial_Address;

Sample Code Snippet :

int num = 20;
int * const ptr = &num ; // Declare Constant Pointer

*ptr = 20 ;              // Valid Statement
ptr ++ ;                 // Invalid Statement

Explanation :

1. In the Diagram Shown The at 2001 we have Store the value 15 .
2. Constant Pointer is Pointer to that Variable [Pointer Stores address 2001]
3. We cannot Change the Address stored in Pointer Variable i.e 2001 is fixed
4. But we can Change the Value at 2001 i.e we can change value 15 to 20

## Example 1: Illustrate const pointer in C

#include<stdio.h>

int main()
{
int num[2] = {10,20};
int* const ptr = &num[0];

printf("%d",*ptr);

return(0);
}

Output :

10

Explanation :

int* const ptr = &num[0];

We must initialize const pointer at the time of declaration. Otherwise it will cause error.

int* const ptr;
ptr = &num[0];

above statements will cause error.

## Example 2 : We cannot change address stored inside Pointer

#include<stdio.h>

int main()
{
int num[2] = {10,20};
int* const ptr = &num[0];

ptr++;

printf("%d",*ptr);

return(0);
}

Output :

## Example 3 : We can change value stored at address.

#include<stdio.h>

int main()
{
int num[2] = {10,20};
int* const ptr = &num[0];

*ptr = 30;

printf("%d",*ptr);

return(0);
}

Output :

30

## Summary

We can DO following operations –