指向常量的指標

2021-06-26 01:50:51 字數 486 閱讀 7694

#include int main(void)

long value=9999l;

const long *pvalue=&value;

宣告指標時候可以使用const關鍵字指定,該指標指向的值不能被改變;

把pvalue指向的值宣告為const,所以編譯器會檢查是否有語句試圖修改pvalue指向的值,並將這些語句標記為錯誤;

列如下面的語句會讓編譯器成一條錯誤資訊

*pvalue=888l;應為pvalue指向的值不能被修改,但可以對value進行任意操作;

value=7777l;

改變了pvalue指向的值,但是不能使用pvalue指標做這個改變,當然指標本省不是常量,所以仍可以改變它指向的值

long number=8888l;

pvalue=&number;

這會改變指向number的pvalue中的位址,仍然不能使指標改變它指向的值

指向常量的常量指標

在課本上看到乙個很繞的概念,指向常量的常量指標,很容易弄混 include pch.h include using namespace std intmain 程式執行結果是輸出 0 指標的值是可變的,指向了乙個不可變的常量。include pch.h include using namespace...

常量指標和指向常量的指標

首先指出乙個錯誤,壓根就不應該有指標常量這個說法。經常聽到有關常量指標和指標常量的討論,也經常見到有關兩者區別的文章,然而,有些文章卻誤導了讀者,他們的結論根本就是錯的。例如關於指標常量和常量指標的討論,結果完全顛倒了 而其他一些文章呢,充其量只是火上加油,讓本來就很複雜的事情變得更加難於理解,例如...

常量指標和指向常量的指標

1 常量指標 指標本身的位址值不可修改,這個值是定義指標的時候確定的,以後不可再改變。定義 int const i new int i是常量,執行i 會出錯 const修飾的是i,所以i不能變。2 指向常量的指標 該指標指向的變數是不可修改的。定義 const int i new int 100 或...