<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之旅 廣告
                # 14.C語言指向指針的指針 如果一個指針變量存放的又是另一個指針變量的地址,則稱這個指針變量為指向指針的指針變量。在前面已經介紹過,通過指針訪問變量稱為間接訪問。由于指針變量直接指向變量,所以稱為“單級間址”。而如果通過指向指針的指針變量來訪問變量則構成“二級間址”。 ![](http://www.lvtao.net/content/uploadfile/201404/00bb6d26c0388f62c94b16c3a71ac27c20140421044706.gif) 從下圖可以看到,name是一個指針數組,它的每一個元素是一個指針型數據,其值為地址。Name是一個數據,它的每一個元素都有相應的地址。數組名name代表該指針數組的首地址。 name+1是mane[i]的地址。name+1就是指向指針型數據的指針(地址)。還可以設置一個指針變量p,使它指向指針數組元素。P就是指向指針型數據的指針變量。 怎樣定義一個指向指針型數據的指針變量呢?如下: ? ? char **p; p前面有兩個*號,相當于*(*p)。顯然*p是指針變量的定義形式,如果沒有最前面的*,那就是定義了一個指向字符數據的指針變量。現在它前面又有一個*號,表示指針變量p是指向一個字符指針型變量的。*p就是p所指向的另一個指針變量。 從下圖可以看到,name是一個指針數組,它的每一個元素是一個指針型數據,其值為地址。name是一個數組,它的每一個元素都有相應的地址。數組名name代表該指針數組的首地址。name+1是mane[i]的地址。name+1就是指向指針型數據的指針(地址)。還可以設置一個指針變量p,使它指向指針數組元素。P就是指向指針型數據的指針變量。 ![](http://www.lvtao.net/content/uploadfile/201404/8e8f36c08a93fcd207e662ea968ea04c20140421044706.gif) 如果有: ~~~ p=name+2; printf(“%o\n”,*p); printf(“%s\n”,*p); ~~~ 則,第一個printf函數語句輸出name[2]的值(它是一個地址),第二個printf函數語句以字符串形式(%s)輸出字符串“Great Wall”。 【例10-36】使用指向指針的指針。 ~~~ main(){ char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer desighn"}; char **p; int i; for(i=0;i<5;i++){ p=name+i; printf("%s\n",*p); } } ~~~ 說明:p是指向指針的指針變量。 【例10-37】一個指針數組的元素指向數據的簡單例子。 ~~~ main(){ static int a[5]={1,3,5,7,9}; int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]}; int **p,i; p=num; for(i=0;i<5;i++){ printf("%d\t",**p); p++; } } ~~~ 說明:指針數組的元素只能存放地址。
                  <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>

                              哎呀哎呀视频在线观看