http://gharee.com/wiki/index.php?action=history&feed=atom&title=Static_%28%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F%29 123,123,123 2025-06-29T09:00:41Z 本wiki的該頁面的版本歷史 MediaWiki 1.21.2 http://gharee.com/wiki/index.php?title=Static_(%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F)&diff=78&oldid=prev Admin:以“static關(guān)鍵字用于創(chuàng)建只對(duì)某一函數(shù)可見的變量。然而,和局部變量不同的是,局部變量在每次調(diào)用函數(shù)時(shí)都會(huì)被創(chuàng)建和銷毀,...”為內(nèi)容創(chuàng)建頁面 2014-09-12T06:01:39Z <p>以“static關(guān)鍵字用于創(chuàng)建只對(duì)某一函數(shù)可見的變量。然而,和局部變量不同的是,局部變量在每次調(diào)用函數(shù)時(shí)都會(huì)被創(chuàng)建和銷毀,...”為內(nèi)容創(chuàng)建頁面</p> <p><b>新頁面</b></p><div>static關(guān)鍵字用于創(chuàng)建只對(duì)某一函數(shù)可見的變量。然而,和局部變量不同的是,局部變量在每次調(diào)用函數(shù)時(shí)都會(huì)被創(chuàng)建和銷毀,靜態(tài)變量在函數(shù)調(diào)用后仍然保持著原來的數(shù)據(jù)。&lt;br&gt;<br /> <br /> 靜態(tài)變量只會(huì)在函數(shù)第一次調(diào)用的時(shí)候被創(chuàng)建和初始化。&lt;br&gt;<br /> 例子&lt;br&gt;<br /> &lt;pre style=&quot;color:green&quot;&gt;<br /> /* RandomWalk<br /> * Paul Badger 2007<br /> * RandomWalk函數(shù)在兩個(gè)終點(diǎn)間隨機(jī)的上下移動(dòng)<br /> * 在一個(gè)循環(huán)中最大的移動(dòng)由參數(shù)“stepsize”決定<br /> *一個(gè)靜態(tài)變量向上和向下移動(dòng)一個(gè)隨機(jī)量<br /> *這種技術(shù)也被叫做“粉紅噪聲”或“醉步”<br /> */<br /> <br /> #define randomWalkLowRange -20<br /> #define randomWalkHighRange 20<br /> <br /> int stepsize;<br /> <br /> INT thisTime;<br /> int total;<br /> <br /> void setup()<br /> {<br /> Serial.begin(9600);<br /> }<br /> <br /> void loop()<br /> { // 測(cè)試randomWalk 函數(shù)<br /> stepsize = 5;<br /> thisTime = randomWalk(stepsize);<br /> serial.println(thisTime);<br /> delay(10);<br /> }<br /> <br /> int randomWalk(int moveSize){<br /> static int place; // 在randomwalk中存儲(chǔ)變量<br /> // 聲明為靜態(tài)因此它在函數(shù)調(diào)用之間能保持?jǐn)?shù)據(jù),但其他函數(shù)無法改變它的值<br /> <br /> place = place + (random(-moveSize, moveSize + 1));<br /> <br /> if (place &lt; randomWalkLowRange){ //檢查上下限<br /> place = place + (randomWalkLowRange - place); // 將數(shù)字變?yōu)檎较?lt;br /> }<br /> else if(place &gt; randomWalkHighRange){<br /> place = place - (place - randomWalkHighRange); // 將數(shù)字變?yōu)樨?fù)方向<br /> }<br /> <br /> return place;<br /> }<br /> &lt;/pre&gt;</div> Admin