在定义指针的时候我们可以用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