C++ 指向常量的指针与指针类型的常量
生活随笔
收集整理的這篇文章主要介紹了
C++ 指向常量的指针与指针类型的常量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
(1)聲明指向常量的指針時,不能通過指針來改變所指對象的值,但指針本身可以改變,可以指向另外的對象。
#include<iostream>using namespace std;int main(){int a = 6;const int *p1 = &a; // p1是指向常量的指針 cout << "*p1的值改變前:" << *p1 << endl; a = 10; // 變量a中的數(shù)值改變后,*p1的值也會發(fā)生改變cout << "a改變后,*p1的值:" << *p1 << endl; int b = 9;p1 = &b; // p1本身的值可以改變cout << "將b的地址賦值給p1后:" << *p1 << endl; }程序運行的結(jié)果:
*p1的值改變前:6
a改變后,*p1的值:10
將b的地址賦值給p1后:9
注:如果直接改變*p1的數(shù)值,則編譯出錯,因為不能通過指向常量的指針改變所指的對象。
*p1 = 1; // *p1 為指向常量的指針,不能改變所指的對象使用指向常量的指針,可以確保指針?biāo)赶虻某A坎槐灰馔飧摹H绻靡话阒羔槾娣懦A康牡刂?#xff0c;編譯器就不能確保指針?biāo)傅膶ο蟛槐桓摹?/p>
(2)可以聲明 指針類型的常量,這時指針本身的值不能被改變。
#include<iostream>using namespace std;int main(){int a = 6; int b = 9;int* const p1 = &a; // p1為指針類型的常量// p1 = &b; // p1此時為指針常量,值不能被改變 }總結(jié)
以上是生活随笔為你收集整理的C++ 指向常量的指针与指针类型的常量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ void类型指针的使用
- 下一篇: STC89C52单片机 串口通信