当前位置 : 主页 > 编程语言 > c++ >

const与指针

来源:互联网 收集:自由互联 发布时间:2021-06-23
在定义指针的时候我们可以用const来修饰 根据const出现的位置和出现的次数分为三种 1.指向常量的指针 2.常指针 3.指向常量的常指针 1.指向常量的指针 1 #includebits/stdc++.h 2 using namespace

在定义指针的时候我们可以用const来修饰

根据const出现的位置和出现的次数分为三种

1.指向常量的指针

2.常指针

3.指向常量的常指针

 

1.指向常量的指针

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int a = 3,b = 6;
 7     //指向常量的指针
 8     //p是一个变量可以改变它所指的对象,但不可以通过它改变其所指对象的值 
 9     const int *p = &a;
10     cout << a << " " << b << " " << *p << endl;
11 //    *p = 2; 不允许的 
12     a = 2;
13     cout << a << " " << b << " " << *p << endl;
14     p = &b;
15     cout << a << " " << b << " " << *p << endl;
16     return 0;
17 }

 

2.常指针

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6    int a = 3,b = 5;
 7    int *const p = &a; 
 8 //   常指针
 9 //   也就是指针p为一个常量,我们就不可以改变其所指的对象。
10 //   p = &b; 是不允许的
11 //   但是p所指的是一个变量,我们可以通过p来改变其所指对象的值 
12    cout << a << " " << b << " " << *p << endl;
13    //p = &b是不允许的 
14    *p = 9;
15    cout << a << " " << b << " " << *p << endl; 
16    return 0;    
17 } 
View Code

 

3.指向常量的常指

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int a = 3,b = 5;
 7     const int *const p = &a;
 8 //    指向常量的常指针
 9 //    此处p是一个常量,也就是不能改变其所指的对象
10 //    而且p指向的对象不能通过p来改变所指对象的值
11 //    p = &b 和*p = 2;都是不允许的
12     cout << a << " " << b << " " << *p << endl; 
13     return 0;
14 }
View Code
网友评论