- Указатель константы : Указатель константы может указывать только на одну переменную соответствующего типа данных в течение всей программы. Мы можем изменить значение переменной, указанной указателем. Инициализация должна быть сделана во время самого объявления.
Синтаксис:
datatype *const var;
char *const
подпадает под этот случай.
/*program to illustrate the behaviour of constant pointer */
#include<stdio.h>
int main(){
int a=10;
int *const ptr=&a;
*ptr=100;/* we can change the value of object but we cannot point it to another variable.suppose another variable int b=20; and ptr=&b; gives you error*/
printf("%d",*ptr);
return 0;
}
- Указатель на постоянное значение : в этом указатель может указывать любое количество переменных соответствующего типа, но мы не можем изменить значение объекта, на который указывает указатель в это конкретное время.
Синтаксис:
const datatype *var
или datatype const *var
const char*
относится к этому случаю.
/* program to illustrate the behavior of pointer to a constant*/
#include<stdio.h>
int main(){
int a=10,b=20;
int const *ptr=&a;
printf("%d\n",*ptr);
/* *ptr=100 is not possible i.e we cannot change the value of the object pointed by the pointer*/
ptr=&b;
printf("%d",*ptr);
/*we can point it to another object*/
return 0;
}