C++const與指標

來源:互聯網
上載者:User

標籤:

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與指標

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.