為什么要定義為const int*p, 指針指向的是count地址,并不是count的值,為什么一定要用常量指針
//const
#include <iostream>
using namespace std;
int main(void)
{
? ? //定義常量count
? ? const int count = 3;
? ? ?const int * p = ?&count;
? ? //打印count次字符串Hello C++
for(int i = 0; i < *p; i++)
{
cout << "Hello imooc" << endl;
}?
return 0;
}
2016-03-21
const int*p定義的是指向常量的指針;int * count p 定義的是常量指針。
可以理解為p是指向count地址的指針,而*p=count,因為count是一個常量,所以是*p為一個常量,故const在int*p前面修飾整個
2016-04-27
指針類型與實際存儲的匹配
????指針是有類型的,給指針賦值,不但必須是一個地址,而且應(yīng)該是一個該指針類型相符的變量或常量的地址。
——C++程序設(shè)計教程(修訂版) 錢能 ?P149頁
2016-04-13
你可以試一下 const int a =3; int *p =&a; 編譯器會報錯 const * 不能轉(zhuǎn)成 int *, 這情況加上 const 似乎是為了解決這個問題吧。。