http://gharee.com/wiki/index.php?action=history&feed=atom&title=Array 123,123,123 2025-06-28T15:57:50Z 本wiki的該頁(yè)面的版本歷史 MediaWiki 1.21.2 http://gharee.com/wiki/index.php?title=Array&diff=70&oldid=prev Admin:以“Arrays (數(shù)組)<br> 數(shù)組是一種可訪問(wèn)的變量的集合。Arduino的數(shù)組是基于C語(yǔ)言的,因此這會(huì)變得很復(fù)雜,但使用簡(jiǎn)單的數(shù)組是...”為內(nèi)容創(chuàng)建頁(yè)面 2014-09-12T05:58:34Z <p>以“Arrays (數(shù)組)&lt;br&gt; 數(shù)組是一種可訪問(wèn)的變量的集合。Arduino的數(shù)組是基于C語(yǔ)言的,因此這會(huì)變得很復(fù)雜,但使用簡(jiǎn)單的數(shù)組是...”為內(nèi)容創(chuàng)建頁(yè)面</p> <p><b>新頁(yè)面</b></p><div>Arrays (數(shù)組)&lt;br&gt;<br /> <br /> 數(shù)組是一種可訪問(wèn)的變量的集合。Arduino的數(shù)組是基于C語(yǔ)言的,因此這會(huì)變得很復(fù)雜,但使用簡(jiǎn)單的數(shù)組是比較簡(jiǎn)單的。&lt;br&gt;<br /> 創(chuàng)建(聲明)一個(gè)數(shù)組&lt;br&gt;<br /> <br /> 下面的方法都可以用來(lái)創(chuàng)建(聲明)數(shù)組。&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> myInts [6];<br /> myPins [] = {2,4,8,3,6};<br /> mySensVals [6] = {2,4,-8,3,2};<br /> char message[6] = &quot;hello&quot;;<br /> &lt;/pre&gt;<br /> <br /> 你聲明一個(gè)未初始化數(shù)組,例如myPins。&lt;br&gt;<br /> <br /> 在myPins中,我們聲明了一個(gè)沒(méi)有明確大小的數(shù)組。編譯器將會(huì)計(jì)算元素的大小,并創(chuàng)建一個(gè)適當(dāng)大小的數(shù)組。&lt;br&gt;<br /> <br /> 當(dāng)然,你也可以初始化數(shù)組的大小,例如在mySensVals中。請(qǐng)注意,當(dāng)聲明一個(gè)char類(lèi)型的數(shù)組時(shí),你初始化的大小必須大于元素的個(gè)數(shù),以容納所需的空字符。&lt;br&gt;<br /> 訪問(wèn)數(shù)組&lt;br&gt;<br /> <br /> 數(shù)組是從零開(kāi)始索引的,也就說(shuō),上面所提到的數(shù)組初始化,數(shù)組第一個(gè)元素是為索引0,因此:&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> mySensVals [0] == 2,mySensVals [1] == 4,<br /> &lt;/pre&gt;<br /> 依此類(lèi)推 。&lt;br&gt;<br /> <br /> 這也意味著,在包含十個(gè)元素的數(shù)組中,索引九是最后一個(gè)元素。因此,&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> int myArray[10] = {9,3,2,4,3,2,7,8,9,11};<br /> // myArray[9]的數(shù)值為11<br /> // myArray[10],該索引是無(wú)效的,它將會(huì)是任意的隨機(jī)信息(內(nèi)存地址)<br /> &lt;/pre&gt;<br /> <br /> 出于這個(gè)原因,你在訪問(wèn)數(shù)組應(yīng)該小心。若訪問(wèn)的數(shù)據(jù)超出數(shù)組的末尾(即索引數(shù)大于你聲明的數(shù)組的大小- 1),則將從其他內(nèi)存中讀取數(shù)據(jù)。從這些地方讀取的數(shù)據(jù),除了產(chǎn)生無(wú)效的數(shù)據(jù)外,沒(méi)有任何作用。向隨機(jī)存儲(chǔ)器中寫(xiě)入數(shù)據(jù)絕對(duì)是一個(gè)壞主意,通常會(huì)導(dǎo)致不愉快的結(jié)果,如導(dǎo)致系統(tǒng)崩潰或程序故障。要排查這樣的錯(cuò)誤是也是一件難事。 不同于Basic或JAVA,C語(yǔ)言編譯器不會(huì)檢查你訪問(wèn)的數(shù)組是否大于你聲明的數(shù)組。&lt;br&gt;<br /> 指定一個(gè)數(shù)組的值:&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> mySensVals [0] = 10;<br /> &lt;/pre&gt;<br /> <br /> 從數(shù)組中訪問(wèn)一個(gè)值:&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> X = mySensVals [4];<br /> &lt;/pre&gt;<br /> <br /> 數(shù)組和循環(huán)&lt;br&gt;<br /> <br /> 數(shù)組往往在for循環(huán)中進(jìn)行操作,循環(huán)計(jì)數(shù)器可用于訪問(wèn)每個(gè)數(shù)組元素。例如,將數(shù)組中的元素通過(guò)串口打印,你可以這樣做:&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> int i;<br /> for (i = 0; i &lt; 5; i = i + 1) {<br /> Serial.println(myPins[i]);<br /> }<br /> &lt;/pre&gt;</div> Admin