其實對於指針常量、常量指針、常量指針常量這三個專用名詞應經基礎很久了,不過總是過一段時間就忘了或者把這三個給記混淆了。今天又遇到了這個問題,於是就想好好研究下這三個名詞,以便於加深印象。
先看下:
const int *p ;//常量指針
int const *p ;//常量指針
int *const P ;// 指針常量
const int *const p;//常量指針常量
int const * const p;//常量指針常量
三個名詞演變出了五中形式,之所以這樣是因爲 const int *與int const *是一樣的,我是這樣認爲的const 不管const出現在哪裏只要它在*好前面就是一樣的。我是這樣的記憶這三個名詞的,把*用指針來記憶,把const用常量來記憶,於是
congst (常量) int * (指針)p --常量指針就出來了,
int const(常量) *(指針)p --常量指針
int * (指針) const(常量) p --指針常量就出來了
const(常量) int *(指針) const(常量) p --常量指針常量
int
const(常量) *(指針) const(常量) p --常量指針常量
這樣應該好幾多了吧
常量指針的用法
常量指針的限定性在於不能通過指針修改指針指向的內容。
#include <iostream>
using namespace std;
int main()
{
int a=10,b=11;
const int * p=&a;
int const *q=&b;
cout<<"*p="<<*p<<"\t"<<"*q="<<*q<<endl;
return 0;
}
未完待續