<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## const修飾指針 - 變量的地址可以改變,但內容不能改變 `const int * p1`,p1是指向int型的指針變量,然后再作為常量。 類型也必須一致。 <details> <summary>main.cpp</summary> ``` #include <iostream> using namespace std; int main() { int x = 12; int y = 25; char c = 'D'; const int *p1; //新分配一塊int型空間,再將p1指向新空間作為常量,OK! p1 = new int(100); cout << "p1: " << *p1 << endl; // 100 delete p1; cout << "p1: " << *p1 << endl; // 0 //將p1指向非int型變量作為常量,NG! //p1 = &c; //類型不匹配 //將p1指向int型變量作為常量,OK! p1 = &x; cout << "p1: " << *p1 << endl; // 12 //修改p1的地址,OK! p1 = &y; cout << "p1: " << *p1 << endl; // 25 //修改p1指針的值,NG! //*p1 = 156; //指針值不能被修改 //通過其它變量,間接地修改p1指針的值,OK! y = 158; cout << "p1: " << *p1 << endl; // 158 return 0; } ``` </details> <br/> ## const修飾指針后再限定類型 - 與上一種一致 `int const * p2`,p2是指針變量,然后再作為常量并限制為int類型。變量的地址可以改變,但內容不能改變,類型也必須一致 目前看與 `const int * p2` 一樣 ## const修飾指針地址 - 變量的地址不可以改變,但內容可以改變 `int * const p3`,p3是指針變量,其地址作為常量并指針限制為int類型。 定義時必須同時賦初始值 <details> <summary>main.cpp</summary> ``` #include <iostream> using namespace std; int main() { int x = 12; int y = 25; //int * const p3; //編譯出錯,初始化必須賦值 int *const p3 = &x; //新分配一塊int型空間,再將p3指向新空間作為常量,NG! //p3 = new int(100); //修改p3的地址,NG! //p3 = &y; //地址不能被修改 //修改p3指針的值,OK! *p3 = 156; //指針值可以被修改 cout << "p3 值: " << *p3 << endl; cout << "x 值 : " << x << endl; // 156 return 0; } ``` </details> <br/> ## const修飾指針并修飾地址 - 不允許修改地址,也不允許修改內容 <details> <summary>main.cpp</summary> ``` #include <iostream> using namespace std; int main() { int x = 12; int y = 25; //const int * const p4; //編譯出錯,初始化必須賦值 const int *const p4 = &x; cout << "p4: " << *p4 << endl; //修改p4的地址,NG! //p4 = &y; //地址不能被修改 //修改p4指針的值,NG! //*p4 = 156; //指針值不能被修改 //通過其它變量,間接地修改p4指針的值,OK! x = 123; cout << "p4: " << *p4 << endl; return 0; } ``` </details> <br/>
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看