const
限定符和指針結合起來常見的情況有以下幾種。
(1)指向常量的指針
const int *a; int const *a;
這兩種寫法是一樣的,a
是一個指向const int
型的指針,a
所指向的內存單元不可改寫,所以(*a)++
是不允許的,但a
可以改寫,所以a++
是允許的。
指針指向的內容不變,但是指針本身是可以變的。
(2)常指針
int * const a;
a
是一個指向int
型的const
指針,*a
是可以改寫的,但a
不允許改寫。
指針本身是不可以變的,但是指針指向的內容是可以變的。
(3)指向常量的常指針
int const * const a;
a
是一個指向const int
型的const
指針,因此*a
和a
都不允許改寫。
指針本身和指向的內容都是不允許變的。
以上三種情況如果你學個c++的話,應該有接觸!