1、const修飾變數 被const修飾過的變數相當於常量,它的值不能被賦值改變,在整個作用域內保持固定。所以說它定義的是只讀變數,在定義的時候需要給它賦初值。 1 const int a = 1; 2 a = 2; /*錯誤,常量的值不能改變*/ 3 const int a; /*錯誤,常量定義時 ...
1、const修飾變數
被const修飾過的變數相當於常量,它的值不能被賦值改變,在整個作用域內保持固定。所以說它定義的是只讀變數,在定義的時候需要給它賦初值。
1 const int a = 1; 2 a = 2; /*錯誤,常量的值不能改變*/ 3 const int a; /*錯誤,常量定義時需要初始化*/
2、const修飾指針
1 const int* p; /*常量指針,指針指向的記憶體可以改變,指針的值不能改變*/ 2 int* const p; /*指針常量,指針指向的值可以改變,指針指向的記憶體不能改變*/ 3 const int* const p; /*指向常量的常量指針,指針指向的值和記憶體都不能改變*/
3、const修飾形參
(1)const修飾形參變數時,在函數體內值不能改變。
(2)const修飾形參指針時,在這裡指常量指針,在函數體內指向的數據不能改變。
註:上述是對const關鍵字基本用法做出了簡介,但在應用中,被const修飾過的常變數可以修改嗎?
1 const int a = 1; 2 int* b = &a; 3 *b = 2; 4 printf("%d", a);
上述代碼運行結果為2,可以看出被const修飾過的常變數不能通過變數名去修改,但可以通過指針去修改被const修飾的記憶體。