const關鍵字宣告乙個常量,常量宣告後不能修改。類似的,我們可以宣告常量指標:
double radius = 5;
double * const pvalue = &radius;
*pvalue = 4//可以修改
其中pvalue是乙個常量指標,其宣告和初始化必須在同一條語句中,後面的程式不能為其賦予新的位址。注意,雖然pvalue是常量,但pvalue指向的資料不是常量,是可以修改指的。
可以宣告乙個指標,指向常量資料嗎?完全可以,只要將關鍵字放於資料型別之前即可
const double * const pvalue = &radius;
上例中,指標是常量的,指標指向的資料也是常量的;
如果宣告指標為
const double* pvalue = &radius;
則指標不是常量的,但指標指向的資料是常量
#include#include#include#include#include;
using namespace std;
int dp[1000][1000];
int main()
#includeusing namespace std;
int * reverse(const int * list, int size)
return result;
}int main();
list * plist = reverse(list, 6);
return0;
}
顯式地釋放new操作符分配的記憶體空間,要用delete關鍵字
deletelist;
int * pvalue = new int;
*pvalue = 45;
pvalue = new int;
儲存45的原記憶體空間將無法再訪問,因為已經沒有任何指標指向它,這段記憶體無法訪問也無法釋放,就是所謂的記憶體洩漏
常量指標 和 指標常量
在c 的學習中,有人經常搞不清楚 常量指標 和 指標常量 這兩個概念。其實簡單一點講,常量指標 所指向的位址上的資料是常量,而 指標常量 所指向的位址是常量,位址上面的資料是可以變化的。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。指標常...
常量指標和指標常量
定義 具有只能夠讀取記憶體中資料,卻不能夠修改記憶體中資料的屬性的指標,稱為指向常量的指標,簡稱常量指標。宣告 const int p int const p 注 可以將乙個常量的位址賦值給乙個對應型別的常量指標,因為常量指標不能夠通過指標修改內粗資料。只能防止通過指標引用修改記憶體中的資料,並不保...
常量指標和指標常量
由於我對常量指標和指標常量的宣告格式經常性混淆,今天特別在codeblocks和vs2010上分別試了一下,慶幸的是還好兩個編譯環境上的結果是一致的。1 什麼是常量指標和指標常量 常量指標 即為乙個指向常量的指標,指標可以修改能夠指向其它的物件,指標指向的變數不能修改其值。指標常量 即為指標是常量,...