今天偶然想到了一個問題那就是: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 所以 指針的地址不能被修改,他是一個不能改變的常量,因此他是指針常量。