常量指針 與 指針常量

      今天偶然想到了一個問題那就是:const* int  p 與  int  const* P 兩者之間有什麼區別?

去網上搜索了一下指針常量 和 常量指針的區別:

指針常量:

      指針常量是,首先它是一個常量用指針來修飾它。定義形式爲 type* const name

其中 name 只能指向一個地址然後不能改變,但是可以 修改它所指向地址的內容。

常量指針:

      常量指針, 首先它是一個指針,用常量來修飾它。定義形式爲 const type* name 或 type const* name

其中這個指針所指向的地址內容不能被修改,但這個指針可以指向其他地址。

再交給大家一個記憶的方法:

首先找const 緊接着 const 後面的就是被限制的內容,比如 const type* name    ; const 後面是 *name 所以 指針地址上的內容不能被修改 因此它是一個指向常量的指針 即常量指針,再看  type* const name      ;const 後面是 name 所以 指針的地址不能被修改,他是一個不能改變的常量,因此他是指針常量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章