<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 功能強大 支持多語言、二開方便! 廣告
                【47.1 二維數組的書寫格式和特點。】 拿一維數組和二維數組來對比一下,一維數組只有一個下標,像由很多點連成的一條直線,整體給人的是一種“線”的觀感。而二維數組有兩個下標,這兩個下標類似平面中的行與列,也類似平面中的X軸和Y軸的坐標,通過y軸和x軸坐標就可以找到所需的點,也就是二維數組的某個元素,因此,二維數組整體給人的是一種“面”的觀感。 上述是對二維數組的感性描述,二維數組是由一維數組發展而來,所以繼承了很多一維數組的特點。二維數組的所有“網點”元素的地址都是挨個相臨的,先從第0行開始“掃描”當前行的列,第0行第0列,第0行第1列,第0行第2列......再第1行第0列,第1行第1列,第1行第2列......再第2行......再第N行,上一行“尾”元素跟下一行“頭”元素的地址也是相臨連續的。 二維數組未帶初始化時的通用定義格式如下: 數據類型 數組名\[行數Y\]\[列數X\]; 比如: unsigned char a\[2\]\[3\]; //此處的2代表有2行,3代表有3列。 分析:此二維數組定義了6個變量,跟一維數組一樣,下標都是從0開始,到(N-1)時結束,此處的N代表行數或者列數。所以a\[2\]\[3\]數組的元素挨個分別是a\[0\]\[0\],a\[0\]\[1\], a\[0\]\[2\], a\[1\]\[0\], a\[1\]\[1\], a\[1\]\[2\]這6個變量。這6個變量的地址是順序挨個相連的。 二維數組有兩種常用初始化格式,一種是逐行初始化,一種是整體初始化。 第一種逐行初始化: unsigned char a\[2\]\[3\]= { {0,1,2}, {3,4,5} }; 在逐行初始化定義二維數組時,只要有初始化的數據,也可以省略行下標,但是列下標不能省略,比如: unsigned char a\[\]\[3\]= { {0,1,2}, {3,4,5} }; 此時編譯器會根據元素的個數來確定行數是多少。 第二種整體初始化,跟一維數組一樣,內部數據元素不需要額外增加大括號來分行。 unsigned char a\[2\]\[3\]= { 0,1,2,3,4,5 }; 或者 unsigned char a\[2\]\[3\]= { 0,1,2, 3,4,5 }; 都行。 C語言是很豐富的語言,比如二維數組還允許不完全初始化的一些情況,這種情況我就不再深入講解,我講解的都是挑選一些針對以后單片機項目中可能會經常用到的語法。 二維數組我在很多項目上還是經常用到的,比如用在一些需要把所得的信息進行查表判斷的項目,在每一行里放一條關鍵詞字符串信息,利用循環語句進行逐行查找匹配信息。至于二維數組如何存放字符串的知識點以后再講。這節的重點是讓大家對二維數組有個初步的認識。 【47.2 例程練習和分析。】 現在編寫一個程序來熟悉一下二維數組的書寫和使用格式。 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ unsigned char a\[2\]\[3\]= //定義和初始化一個二維數組 { {0,1,2}, {3,4,5} }; void main() //主函數 { a\[0\]\[0\]=8; //故意把第0行第0列的這個變量賦值8,讓大家看看如何直接操作二維數組某個元素。 View(a\[0\]\[0\]); //把第1個數a\[0\]\[0\]發送到電腦端的串口助手軟件上觀察。 View(a\[0\]\[1\]); //把第2個數a\[0\]\[1\]發送到電腦端的串口助手軟件上觀察。 View(a\[0\]\[2\]); //把第3個數a\[0\]\[2\]發送到電腦端的串口助手軟件上觀察。 View(a\[1\]\[0\]); //把第4個數a\[1\]\[0\]發送到電腦端的串口助手軟件上觀察。 View(a\[1\]\[1\]); //把第5個數a\[1\]\[1\]發送到電腦端的串口助手軟件上觀察。 View(a\[1\]\[2\]); //把第6個數a\[1\]\[2\]發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:8 十六進制:8 二進制:1000 第2個數 十進制:1 十六進制:1 二進制:1 第3個數 十進制:2 十六進制:2 二進制:10 第4個數 十進制:3 十六進制:3 二進制:11 第5個數 十進制:4 十六進制:4 二進制:100 第6個數 十進制:5 十六進制:5 二進制:101 分析: 變量元素a\[0\]\[0\]為8。從原來定義的0變成8,因為被main函數里的第1行代碼賦值了8。 變量元素a\[0\]\[1\]為1。 變量元素a\[0\]\[2\]為2。 變量元素a\[1\]\[0\]為3。 變量元素a\[1\]\[1\]為4。 變量元素a\[1\]\[2\]為5。 【47.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>

                              哎呀哎呀视频在线观看