C++学习15:指针与const

来源:互联网 发布:单片机流水灯不亮 编辑:程序博客网 时间:2024/06/07 00:09

1.常量指针

声明方法:

const int *p = &i;int const *p = &i;//两种方法等价。

作用:不可更改指向地址的内容,但可修改指向地址。

    int i = 1;    int j = 2;    const int *p = &i;    //int const *p = &i;    *p = 3;  //错误,常量指针不可以修改指向地址的内容    p = &j;  //正确,常量指针可以修改指向地址

2.指针常量

声明方法:

    int* const p = &i;

作用:可更改指向地址的内容,但不可修改指向地址。

    int i = 1;    int j = 2;    int* const p = &i;    *p = 3;  //正确,指针常量可以修改指向地址的内容。    p = &j;  //错误,指针常量不可以修改指向地址。

3.两者的组合

声明方法:

const int* const p = &i; 

作用:不可更改指向地址的内容,也不可修改指向地址。

    int i = 1;    int j =2;    const int* const p = &i;      *p =3;  //错误    p = &j;  //错误

4.常量与指针

只有常量指针可以指向常量,而普通指针、指针常量不行。常量指针不可以修改常量的值。

    const int i = 1;      const int* pt = &i;  //正确,常量指针可以指向常量    int* pi = &i;  //粗我不,普通指针不可以指向常量。    int* const pr = &i;  //错误,指针常量不可以指向常量。
原创粉丝点击