下面我們來看一段程序,實踐一下指針常量和常量指針:(程序8.4) #include "iostream.h" int main() { int a=42; const int b=84; const int *captr=&a;//常量指針 int * const acptr=&a;//指針常量 int *bptr=&b;//錯誤,不能把常量的地址給指針變量 const int *cbprt=&b;//把常量的地址給常量指針是允許的 *captr=68;//錯誤,間接引用常量指針不可修改內存中的數據 *acptr=68;//間接引用指針常量可以修改內存中的數據 captr=&b;//常量指針可以指向其他變量 acptr=&b;//錯誤,指針常量不能指向別的變量 const int * const ccaptr=&a;//常量指針常量,既不能間接引用修改數據,也不能指向別的變量或常量 *ccaptr=68;//錯誤,不能間接引用修改數據 ccaptr=&b;//錯誤,不能指向別的常量或變量 return 0; } 以上程序存在錯誤,無法通過編譯。我們考慮到使用指針的安全性的時候,就能想到要使用以上這些保護措施保護內存中的數據。