Paljud programmeerimiskeeled kasutavad funktsioone. Funktsioon on avalduste kogum konkreetse ülesande täitmiseks. Põhikoodi saab jagada mitmeks funktsiooniks ja neile helistada. Funktsiooni kutsumiseks on kaks viisi, näiteks kõne väärtus ja viide. Kõne väärtuse meetodil edastatakse muutujate koopiad funktsiooni. Kui funktsiooni väärtus muutub, ei muuda see algset väärtust. Võrdluse korral kajastavad funktsiooni muutuja muutused algset väärtust. võtme erinevus kõne väärtuse ja kõne võrdluse vahel on see, kõne väärtuse järgi edastatakse muutujate koopia funktsioonile ja kõne viite alusel muutujate aadressid funktsioonile. Selles artiklis käsitletakse kõne erinevust väärtuse ja kõne võrdluse vahel.
1. Ülevaade ja peamised erinevused
2. Mis on kõne väärtus
3. Mis on kõne viide
4. Sarnasused kõne väärtuse ja kõne võrdluse vahel
5. Kõrvuti võrdlus - kõne järgi väärtus vs kõne vastavalt viitele tabelina
6. Kokkuvõte
Kõne väärtuse järgi edastatakse muutujate koopiad funktsioonile. Funktsioon võib seda kopeeritud väärtust muuta, kuid see ei muuda algset väärtust. Seda mõistet saab hõlpsasti mõista kahe numbriga programmi vahetamise teel. Vaadake allpool Koodiplokkide keskkonnas kirjutatud C-programmi.
Joonis 01: Programm kahe numbri vahetamiseks
Allpool esitatud programmi kohaselt on muutuja 'a' väärtus 20 ja muutuja 'b' väärtus 30. Funktsiooni swap (a, b) kutsumisel edastatakse need kaks väärtust swap-funktsioonile. Vahetusfunktsioonis kopeeritakse 'a' 'x' 'ja' b '' y ''. Nüüd on väärtusel 'x' väärtus 20 ja 'y'l väärtus 30. Temperatuuri muutuja abil vahetatakse kaks väärtust. Kui prinditakse väärtused „x” ja „y” selle vahetusfunktsiooni sees, annab väljund 30 väärtuse „x” jaoks ja 20 väärtuse „y” jaoks. Kui vahetusfunktsiooni täitmine on lõppenud, naaseb juhtimisfunktsioon tagasi põhifunktsiooni. Põhifunktsioonis 'a' ja 'b' väärtuste printimisel saadakse algväärtused. Need on 20 tähega a ja 30 tähega b. Vahetusfunktsiooni abil tehtud muudatused põhiprogrammis ei kajastu.
Joonis 02: Vahetusprogrammi väljund
„x” ja „y” vahetusfunktsiooni sees on vahetatud väärtused, mis on 30 ja 20, kuid neid väärtusi ei saa põhiprogrammis kasutada. Isegi kui 'x' ja 'y' väärtused on vahetatud, on need vahetamisfunktsiooni kohalikud muutujad ja neile ei pääse põhifunktsioon. Selle probleemi vältimiseks saab kasutada viitega helistamist.
Selle meetodi korral saadetakse funktsioonile muutujate aadressid. Vaadake allpool Koodiplokkide keskkonnas kirjutatud C-programmi.
Joonis 03: Kahe numbri vahetamine osutitega
Allpool toodud näite kohaselt on a väärtuseks 20 ja b väärtuseks 30. A ja b koopiate saatmise asemel saab programmeerija saata a ja b aadressid. 'kasutades funktsiooni, vaheta (& a, & b).
Joonis 04: Vahetusprogrammi väljund näpunäidete abil
Vahetuse korral peaks funktsioon kasutama viiteid, kuna aadressid antakse edasi ja neid aadresse peaksid osutid hoidma. Funktsiooni sees kopeeritakse „a” aadress täheks „x” ja „b” aadress kopeeritakse „y”. Temmuutujaga kasutades vahetatakse x ja y väärtused. Selles võrdlusmeetodi kutses kajastuvad vahetusfunktsiooni sees tehtud muudatused põhiprogrammis. Väärtuste 'a' ja 'b' printimine peamiseks annab vahetatud väärtused. Nüüd on 'a' väljund 30 ja 'b' 20. Kuna funktsioon võtab muutujate aadressi, mõjutavad funktsiooni sees tehtud muudatused algseid väärtusi.
Kõne väärtuse järgi vs kõne alusel | |
Väärtuse kõne korral edastatakse muutujate koopiad funktsiooni, nii et funktsiooni sees tehtud muudatused ei muuda algset väärtust. | Võrdluse korral edastatakse muutujate aadress funktsioonile, seega muudavad funktsiooni sees olevate muutujate muudatused algset väärtust. |
Väärtuse muutmine | |
Kõne alusel väärtuse järgi algne väärtus ei muutu. | Algväärtused muutuvad võrdluseks. |
Funktsioonile helistamise meetodid on kõne väärtus ja viide. Erinevus kõnede ja viidete vahel on see, et kõne järgi väärtuse järgi edastatakse muutujate koopiad funktsioonile ja kõnes võrdlusena edastatakse muutujate aadressid funktsioonile. Kõne väärtuse või kõne alusel kasutamine sõltub teostatavast ülesandest.
Selle artikli PDF-versiooni saate alla laadida ja seda võrguühenduseta otstarbel kasutada tsitaatide märkuse kohaselt. Laadige alla PDF-versioon siit. Erinevus kõne väärtuse ja kõne alusel
1.Jaiswal, Haresh. „11 kõne väärtuse ja võrdluse alusel.” Youtube, YouTube, 24. detsember 2015. Saadaval siin