Færibreyta

Stiki eða færibreyta er í forritun breyta sem vísar til gagna sem falli er látið í té, þar sem gögnin sjálf kallast frumbreytur eða óháðar breytur.

    Þessi grein fjallar um færibreytu í tölvunarfræði en færibreyta getur vísað til stika í stærðfræði.

Með færibreytum er átt við eins konar "ramma" sem eru fyrir hendi í öllum málum, en fylla má út á mismunandi hátt (gefa mismunandi gildi) í ólíkum málum.

Við skulum taka dæmi um færibreytur með falli skrifað í forritunarmálinu C.

int summa( int a, int b )

Í þessu tilfelli eru færibreyturnar heiltölurnar a og b og hegðar fallið sér í samræmi við færibreyturnar. Mjög líklegt má telja að fallið myndi skila a +b, enda heitir fallið jú summa.

Færibreyta er í raun ekkert annað en vísir á minnishólf sem við höfum skýrt einhverju nafni okkur til einföldunar. Þegar við sendum færibreytu inn í fall höfum við val um að senda hana á nokkra vegu hvað minnishólfameðhöndlun varðar. Við getum sent inn afritunarfæribreytu eða tilvísunarfæribreytu. Munurinn er sá að þegar afritunarfæribreyta er send inn er gildi innsendu breytunnar afritað í nýtt minnishólf sem eingöngu er aðgengilegt innan fallsins. Þegar breyta er send inn í fall sem tilvísunarfæribreyta er í raun verið að senda inn tilvísun í minnishólf breytunnar. Þannig vísar breytan sem lifir innan fallsins í sama minnishólf og breytan sem send var inn í fallið og hafa því allar breytingar áhrif á báðum stöðum.

Einfaldast er að sýna þetta með stuttum dæmum:

Afritunarfæribreyta

void fall(int a, int b);  int _tmain(int argc, _TCHAR* argv[]) { int x,y; x = 1;  y = 2;  fall( x ,y );  cout << "x = " << x << " & y = " << y << endl;   return 0; }  void fall(int a, int b) { a = 3;  b = 4; } 

Efst skilgreinum við fallið "fall" sem tekur inn tvær færibreytur með tölulegum gildum. Í aðal forritinu (main) búum við til tvær talnabreytur, x og y sem við gefum svo gildin 1 og 2. Því næst köllum við í fallið "fall" og sendum x og y inn í fallið sem færibreytur. Við þetta afritast gildi x inn í nýtt minnishólf breytunnar a og gildi y í nýtt minnishólf breytunnar b. Í fallinu er breytunni a gefið gildið 3 og breytunni b gefið gildið 4. Að keyrslu fallsins loknu heldur keyrsla aðal forritsins áfram og gildi breytanna x og y er prentað út á skjá. Þar sem a og b fengu ný minnishólf hefur gildi þeirra engin áhrif á x og y og því prenatast "x = 1 & y = 2"

Tilvísunarfæribreyta

void fall(int& a, int& b);  int _tmain(int argc, _TCHAR* argv[]) { int x,y; x = 1;  y = 2;  fall( x ,y );  cout << "x = " << x << " & y = " << y << endl;   return 0; }  void fall(int& a, int& b) { a = 3;  b = 4; } 

Eini munurinn í skilgreiningu fallsins "fall" er að & merkinu hefur verið bætt fyrir framan skilgreiningu a og b. Þegar x og y eru svo send inn í fallið vísar a á sama minnishólf og x og b á sama minnishólf og y. Þegar a er síðan gefið gildið 3 vistast það í þetta sameiginlega minnishólf og þegar b er gefið gildið 4 vistast það í hólfið sem b á sameiginlegt með y. Í þessu tilfelli skrifast því út "x = 3 & y = 4" í lokin.

Tilvísanir

Heimildir

Fyrirmynd greinarinnar var „Parameter (computer science)“ á ensku útgáfu Wiki. Sótt 23. mars 2007.


Færibreyta   Þessi tölvunarfræðigrein er stubbur. Þú getur hjálpað til með því að bæta við greinina.

Tags:

Færibreyta AfritunarfæribreytaFæribreyta TilvísunarfæribreytaFæribreyta TilvísanirFæribreyta HeimildirFæribreytaBreytaForritunGögnUndirforrit

🔥 Trending searches on Wiki Íslenska:

HvalirMaría Júlía (skip)AkureyriDaniilJólaglögg2007AtviksorðSögutímiBoðhátturNorræn goðafræði2008VigurBlóðsýkingÍbúar á ÍslandiRúmeníaFerskeytlaMosfellsbærSigga BeinteinsEritreaSteinþór SigurðssonParísStefán MániKonungar í JórvíkFrumbyggjar AmeríkuFrakklandAþenaEndurreisninKárahnjúkavirkjunBFjalla-EyvindurSnorri SturlusonGunnar GunnarssonVorRagnar loðbrókTundurduflaslæðariEignarfornafnGíneuflóiRagnhildur GísladóttirReykjavíkHAlþingiskosningar 2021Ísland í seinni heimsstyrjöldinniMaríuerlaSamningur Sameinuðu þjóðanna um aðgerðir gegn eyðimerkurmyndunKirgistanÞórshöfn (Færeyjum)Listi yfir íslenska sjónvarpsþættiÍslendingabók (ættfræðigrunnur)Stóra-LaxáFjármálSkytturnar þrjárBoðorðin tíuFiann PaulAlex FergusonNýja-SjálandÞingvallavatnJón Jónsson (tónlistarmaður)TónstigiEgill ÓlafssonMetanÍsbjörnJarðkötturMenntaskólinn í KópavogiListi yfir íslensk eiginnöfn karlmannaGrísk goðafræðiSamgöngurÞróunarkenning DarwinsSaga ÍslandsHugrofRómverskir tölustafirÁsgeir TraustiKristján 9.Þjóðveldið29. marsÚranus (reikistjarna)Leifur heppni🡆 More