您当前的位置: 首页 > 

顺其自然~

暂无认证

  • 2浏览

    0关注

    1317博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

常量指针是什么

顺其自然~ 发布时间:2022-04-18 09:14:53 ,浏览量:2

常量指针(pointer pointed to constant)本质是指针,常量修饰它,表示这个指针是一个指向常量的指针(变量)。指针指向的对象是常量,那么这个对象不能被更改。

在C/C++中,常量指针是像这样声明的:

1)const int *p;

2)int const *p;

定义常量指针的语句格式为:const类型 * 变量 (或 类型 const * 变量)

如:

int i = 3;
int j = 5;
const int * p= &i;

则:

p = &j; /* 正确,p可以被重新赋值 */

*p = j; /* 错误,因为他改变的是p所指向的变量的值。*/

常量指针与指针常量

常量指针表示一个指针指向的变量为常量及带有const属性(e.x. const int *p) , 而指针常量表示一个指针本身为常量及指针本身带有const属性(e.x. int *const p), 常量指针指向的对象由于有const属性, 无法直接改变, 但是指针本身值(及指针指向的内存地址)可以改变, 而指针常量则是指针本身有const属性, 指针的值(及指针指向的内存地址)无法直接改变, 而该地址内的变量可以改变。

例子:

const char *p = "Hello, World"; //表示指针p是一个常量字符串的首地址, 指针p为常量指针

char a[20] = "Hello, World";

char *const p = a; //表示指针p本身为常量, 它将一直指向该内存区域直到它被释放, 指针p为指针常量。(注意: 此时p的值虽然无法改变, 但是a的值可以改变。)

指针常量一般常用于当一个指针由始至终都指向一个对象时使用。

关注
打赏
1662339380
查看更多评论
立即登录/注册

微信扫码登录

0.0383s