<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                【67.1 指針作為數組在函數中的“入口”和“出口”。】 前面分別講了指針的入口和出口,很多初學者誤以為指針是一個“單向”的通道,其實,如果指針前面沒有加const這個“緊箍咒”限定它的屬性,指針是“雙向”的,不是“單向”的,也就是說,指針是可以同時具備“入口”和“出口”這兩種屬性的。現在講一個程序例子,求一個數組(內含4元素)的每個元素變量的整數倍的一半,所謂整數倍的一半,就是除以2,但是不帶小數點,比如4的整數倍的一半是2,7的整數倍的一半是3(不是3.5),代碼如下: void Half(unsigned char \*pu8Buffer) //“求一半”的函數 { unsigned char u8Data\_0; //臨時中間變量 unsigned char u8Data\_1; //臨時中間變量 unsigned char u8Data\_2; //臨時中間變量 unsigned char u8Data\_3; //臨時中間變量 //從指針這個“入口”里獲取需要“被除以2”的數據。 u8Data\_0=pu8Buffer\[0\]; u8Data\_1=pu8Buffer\[1\]; u8Data\_2=pu8Buffer\[2\]; u8Data\_3=pu8Buffer\[3\]; //求數據的整數倍的一半的算法 u8Data\_0=u8Data\_0/2; u8Data\_1=u8Data\_1/2; u8Data\_2=u8Data\_2/2; u8Data\_3=u8Data\_3/2; //最后,把計算所得的結果分別傳輸到指針這個“出口” pu8Buffer\[0\]=u8Data\_0; pu8Buffer\[1\]=u8Data\_1; pu8Buffer\[2\]=u8Data\_2; pu8Buffer\[3\]=u8Data\_3; } 上述代碼,為了突出“入口”和“出口”,我刻意多增加了u8Data\_0,u8Data\_1,u8Data\_2,u8Data\_3這4個臨時中間變量,其實,這4個臨時中間變量還可以省略的,此函數簡化后的等效代碼如下: void Half(unsigned char \*pu8Buffer) //“求一半”的函數 { pu8Buffer\[0\]=pu8Buffer\[0\]/2; pu8Buffer\[1\]=pu8Buffer\[1\]/2; pu8Buffer\[2\]=pu8Buffer\[2\]/2; pu8Buffer\[3\]=pu8Buffer\[3\]/2; } 【67.2 例程練習和分析。】 現在編一個練習程序。 /\*---C語言學習區域的開始。-----------------------------------------------\*/ //函數聲明 void Half(unsigned char \*pu8Buffer); //全局變量定義 unsigned char Gu8Buffer\[4\]={4,7,16,25}; //需要“被除以2”的數組 //函數定義 void Half(unsigned char \*pu8Buffer) //“求一半”的函數 { pu8Buffer\[0\]=pu8Buffer\[0\]/2; pu8Buffer\[1\]=pu8Buffer\[1\]/2; pu8Buffer\[2\]=pu8Buffer\[2\]/2; pu8Buffer\[3\]=pu8Buffer\[3\]/2; } void main() //主函數 { Half(&Gu8Buffer\[0\]); //計算數組的整數倍的一半。這里的“入口”和“出口”是“同一個通道”。 View(Gu8Buffer\[0\]); //把第1個數Gu8Buffer\[0\])發送到電腦端的串口助手軟件上觀察 View(Gu8Buffer\[1\]); //把第2個數Gu8Buffer\[1\])發送到電腦端的串口助手軟件上觀察 View(Gu8Buffer\[2\]); //把第3個數Gu8Buffer\[2\])發送到電腦端的串口助手軟件上觀察 View(Gu8Buffer\[3\]); //把第4個數Gu8Buffer\[3\])發送到電腦端的串口助手軟件上觀察 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:2 十六進制:2 二進制:10 第2個數 十進制:3 十六進制:3 二進制:11 第3個數 十進制:8 十六進制:8 二進制:1000 第4個數 十進制:12 十六進制:C 二進制:1100 分析: Gu8Buffer\[0\]為2。 Gu8Buffer\[1\]為3。 Gu8Buffer\[2\]為8。 Gu8Buffer\[3\]為12。 【67.3 如何在單片機上練習本章節C語言程序?】 直接復制前面章節中第十一節的模板程序,練習代碼時只需要更改“C語言學習區域”的代碼就可以了,其它部分的代碼不要動。編譯后,把程序下載進帶串口的51學習板,通過電腦端的串口助手軟件就可以觀察到不同的變量數值,詳細方法請看第十一節內容。
                  <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>

                              哎呀哎呀视频在线观看