const指標和指向常量的指標

2021-10-02 07:34:54 字數 964 閱讀 4993

1. const int p;

2. const int *p;

3. int const* p;

4. int * const p;

5. const int * const p;

6. int const * const p;

乙個簡便方法:從由往左讀,遇到p就替換為「p is a」,遇到*就替換為「point to」,其餘不變。

> 1. const int p; // p is a int const. p是乙個int型常量 這個很簡單

>

> 2. const int *p; //p is a point to int const. p是乙個指標,指向int型常量。即p是乙個指向int型常量的指標。

>

> 3. int const *p; //與2相同 const int 和 int const 是一樣的意思。《c++ primer》中採用第一種寫法。

>

> 4. int * const p; // p is a const point to int. p是乙個指向int的const指標

>

> 5. const int * const p; //p is a const point to int const. p是乙個指向int型常量的const指標。

>

> 6. int const * const p; //同5

const double *cptr = π

//cptr指向pi,注意這裡的const不能丟,因為普通指標不能指向常量物件,即,不能用非const變數初始化指向常量的指標.

把*放在const前面就表示指標是乙個常量,這樣的書寫形式意味著不變的是指標本身的值而不是指向的物件的值(內容)。也就是說,那個位址不能再變了,但是我們可以改變那個位址上存放的內容。

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

1 先看const常量的情況 const int a 2 int const b c c是已經宣告過的整型 兩者都可以。本地的const常量必須在第一次宣告時就初始化,用變數或常量初始化都可以,只是初始化一次以後它的值就不能再改變了,此所謂const的含義。2 接著看指向常量的指標 const in...

指向const的指標和const指標

指向const的指標 int gorp 16 int chips 12 const int p snack gorp 其中p snack指向乙個const int。p snack 20 不被允許,p snack的值為const,禁止修改p snack指向的值,p snack chips 可以執行,p...

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

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