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ù)。<br><br />
<br />
靜態(tài)變量只會(huì)在函數(shù)第一次調(diào)用的時(shí)候被創(chuàng)建和初始化。<br><br />
例子<br><br />
<pre style="color:green"><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 < randomWalkLowRange){ //檢查上下限<br />
place = place + (randomWalkLowRange - place); // 將數(shù)字變?yōu)檎较?lt;br />
}<br />
else if(place > randomWalkHighRange){<br />
place = place - (place - randomWalkHighRange); // 將數(shù)字變?yōu)樨?fù)方向<br />
}<br />
<br />
return place;<br />
}<br />
</pre></div>
Admin