如何定义指针常量和指向常量的指针?
常量指针是指向常量的指针。顾名思义AG游乐城 ,指针指向常量,即不能指向变量,指向的内容不能更改,指向的内容不能通过指针修改,但指针不是一个常量本身指向字符常量的指针亚博vip登陆 ,可以更改其自身的值,该值可以指向另一个常量。
指针常量表示-指针本身是一个常量。它指向的地址是不可变的,但是可以通过指针更改地址中的内容。它所指向的地址将一直伴随着它的生命,直到生命周期的尽头。要注意的一件事是,在定义指针常量时,必须为其分配一个初始值。
2.使用方法
写作上的区别:
常量指针:*之前的const。指针常量:*后的const。
使用示例:
(1)常量指针用法:
例如int b,c;
int const * a;
a =&b;
a =&c;
无论哪种方式,但是它指向的内容都无法修改。如:* a = 20;这是非法的!错误!
([2)使用指针常量
例如int a,b;
int * const p =&a;
表示p是一个常数指针指向字符常量的指针,它指向变量a的内存。指针常量不能再使用p指向其他变量足球外围 ,例如p =&b;。错误!您可以修改指向内存的值,例如:* p = 20;声明指针常量后广西快三 ,必须按照上面的公式分配初始值。
指针常量也不能释放,使用p指向NULL,即
p = NULL;
在编译过程中将报告错误
/opt/test/test.c:649:错误:分配只读变量'p'
还有一个技巧来记住它们的不同形式!看一下const关键字,以下内容不能修改,例如int * const a =&b;后面跟着a,表示a不能被修改!
int const * a =&b; * a表示* a不能修改!
老王