首先,我告訴大家乙個小規則,就是像這樣連著的兩個詞,前面的乙個通常是修飾部分,中心詞是後面乙個詞,怎麼說呢。就像這裡的常量指標和指標常量。
常量指標,表述為「是常量的指標」,它首先應該是乙個指標。
指標常量,表述為「是指標的常量」,它首先應該是乙個常量。
我再分開細細說明,常量指標,它是乙個指標,什麼樣的指標呢?它是乙個指向常量的指標,就是說我們定義了乙個常量,比如 const int a=7; 那麼我們就可以定義乙個常量指標來指向它 const int *p=&a; 也可以分成兩步,即 const int *p; p=&a; 那麼它有什麼作用呢?首先我們來說說常量的屬性,因為我們的指標是指向常量的,常量和變數的變數的不同之處在於我們不能對其內容進行 操作,具體說就是修改,而我們的指標是什麼,它的內容本身是乙個位址,設定常量指標指向乙個常量,為的就是防止我們寫程式過程中對指標誤操作出現了修改常 量這樣的錯誤,應該如果我們修改常量指標的所指向的空間的時候,編譯系統就會提示我們出錯資訊。總結一下,
常量指標就是指向常量的指標,指標所指向的位址的內容是不可修改的。
再 來說說指標常量,它首先是乙個常量,再才是乙個指標。常量的性質是不能修改,指標的內容實際是乙個位址,那麼指標常量就是內容不能修改的常量,即內容不能 修改的指標,指標的內容是什麼呀?指標的內容是位址,所以,說到底,就是不能修改這個指標所指向的位址,一開始初始化,指向哪兒,它就只能指向哪兒了,不 能指向其他的地方了,就像乙個陣列的陣列名一樣,是乙個固定的指標,不能對它移動操作,比如你使用 p++; 系統就會提示出錯。但是它只是不能修改它指 向的地方,但這個指向的地方裡的內容是可以替換的,這和上面說的常量指標是完全不同的概念。作一下總結,指標常量就是是指標的常量,它是不可改變位址的指標,但是可以對它所指向的內容進行修改。對了,忘了說說它怎麼用,舉個小例子 int a; int * const p=&a; 也可以分開寫 int a; int * const p; p=&a;
當然,你也可以定義個乙個指向常量的指標常量,就把上面的兩個綜合一下,表示如下
const int a=7; const int * const p=&a;
多上機試試,多揣摩一下,其實並不是很難理解。而且用我的方法也很好記,不是嗎,呵呵。
0 給主人留下些什麼吧!~~
指標常量與常量指標
指標常量與常量指標 指標常量是指定義的指標只能在定義的時候初始化,之後不能改變其值,格式如下 資料型別 const 指標常量名稱 例項如下 1char constp1 2int constp2 const 位於指標宣告符 的右側,這說明宣告的物件是乙個常量,而物件的資料型別是指標。所以第一句定義了乙...
常量指標與指標常量
在c c 面試中經常會考到常量指標和指標常量,對初學者來說經常會分不清楚,參考網路上的資料,重新學習 記錄一下。常量指標 指向常量的指標,即指向的內容為常量,不可更改,但指標自身的值可以修改。常量指標常量 指標指向的內容不可改變,指標本身的值也不能改變。int a 3 int b 4 const i...
常量指標與指標常量
在c 中,指標常量與常量指標是經常聽到的概念,很多學生一開始都搞不太清楚 1 如果指標不可以改變就叫指標常量,如 int const p a 這裡的p 或者將p指標其他的位址都的錯誤,所以叫指標常量 2 如果值不可以改變就叫常量指標,如const int p a 這裡如果執行 p b 那麼報錯,所以...