C語言的中的const,代表的含義是”不可改變的變量“,或者可以成為”偽常量“
C++中 const,被稱為”一個有類型描述的常量“
const int liv_num = 10; liv_num = 18; //error 因為liv_num 被const修飾不可被直接賦值
我們知道在c中給變量賦值,有兩種方式:一種就是直接賦值;一種是間接賦值。
對於第一種方式,我們已經驗證是不可以的。那麼,使用間接賦值是否可以實現對liv_num的值得改變呢?
注意:一定要是.c的文件,如果使用的是.cpp的話,不會出現效果,因為c++中 const,被稱為”一個有類型描述的常量“
#include#include int main() { //定義一個常量 const int liv_num = 10; //liv_num = 18; //error 因為liv_num 被const修飾不可被直接賦值 //定義一個指針指向常量 const int *pliv_num = &liv_num; //對指向常量的指針進行轉換 int * pNum = (int *)pliv_num; //進行賦值 *pNum = 20; printf(liv_num = %d , liv_num); //結果為:20 system(pause); return 0; }