常量指针与指针常量
#include<iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
// 常量指针与指针常量
// 1.常量指针 const修饰指针 指针的指向是可以修改的(指针变量中存的地址值可以修改) 指针指向的值不能改(不能通过解引用的形式修改地址中存放的内容)
const int *p1 = &a;
// *p1 = 20; Read-only variable is not assignable 不能通过解引用的形式去修改常量指针的值
cout << "指针所指向的值为:" << *p1 << endl;
// 不能通解引用的形式修改 可以直接修改原来变量的值
a = 50;
cout << "指针所指向的值为:" << *p1 << endl;
// 更改指向是允许的
p1 = &b;
cout << "指针所指向的值为:" << *p1 << endl;
cout << endl;
// 2.指针常量 const修饰变量 指针的指向不可以改 但是指向的只可以改 (与上面相反)
int *const p2 = &a;
cout << "修改前指针所指向的值为:" << *p2 << endl;
*p2 = 50;
cout << "修改后指针所指向的值为:" << *p2 << endl;
// p2 = &b; Cannot assign to variable 'p2' with const-qualified type 'int *const' 不能修改指针常量的指向
return 0;
}
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!