標籤:
1.指向常量的指標變數
指向常量的指標變數的定義方法:
const 類型標識符 *指標變數名;
如:
const int *p;
這種方法定義的指標變數只可讀取它所指向的變數或常量的值,不可藉助該指標變數對其所指向的對象的值進行修改(即重新賦值)。但是,可允許這種指標變數指向另外一個同類型的其他變數。
本人自學,教材可能有點老,有問題的話求大家指正!!!謝謝!!!
2.指標常量
指標常量的定義格式:
類型標識符 *const 指標變數名=初始指標值;
如:
char * const p="abcde";
該方法定義的指標變數,其值(是一個指標值)不可進行修改(即不允許該指標變數再指向另外一個別的變數),但可以藉助該指標變數對其所指向的對象的值進行讀取或修改。特別注意,這種指標在定義時必須初始化。
3.指向常量的指標常量
指向常量的指標常量的第一方法為:
const 類型標識符 * const 指標變數名 = 初始指標值;
如:
int b;
const int* const p=&b;
使用這種方法定義的變數,既不允許修改指標變數的值也不允許藉助該指標變數對其所指向的對象的值進行修改。特別注意,該變數在定義的時候同樣必須初始化。
例題:
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 const int i=20; 7 int k =40; 8 const int *p; 9 p=&i; 10 cout << *p << ‘ ‘ << i << endl;11 p=&k; 12 cout << *p << ‘ ‘ << k << endl;13 k=200; 14 cout << k << endl;15 return 0;16 }
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 char s[]="hello world!"; 7 char * const p=s; 8 //p="xyz"; //該句錯誤,不可再使指標變數指向另外一個地址(指標) 9 cout << *p << endl;10 *p=‘w‘; 11 cout << *p << endl;12 *p=‘q‘; 13 cout << *p << endl;14 return 0;15 }
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int a=10; 7 int c=30; 8 const int b=20; 9 const int * const p=&a;10 cout << *p << endl;11 const int * const q=&b;12 cout << *q << endl;13 //p=&c; //錯誤14 //*p=50; //錯誤 15 return 0;16 }17 18 //菜鳥,求大家批評指教,代碼編寫習慣和規範等等!!!謝謝!!!
本人自學,教材可能有點老,有問題的話求大家指正!!!謝謝!!!
C++const與指標