Kas ir statiskā piešķiršana?

Rakstot datora kodu, ir jāsaprot daudzas lietas. Katra programmēšanas valoda ir atšķirīga, tai ir sava sintakse un struktūras. Viena no lietām, kas ir izplatīta daudzās programmēšanas valodās, ir nepieciešamība iestatīt mainīgos. Mainīgie lielumi glabā datus tādā veidā, uz kuriem var atsaukties nākotnē.

Varat piešķirt dažādas vērtības mainīgajam, piemēram, teksta virknēm, skaitļiem vai datu masīvam, kā arī daudzām citām lietām. Daudzās valodās ir jānorāda, kāda veida dati tiks saglabāti mainīgajā, kas ierobežo, piemēram, tikai skaitļus.

Vēl viena lieta, kas atšķiras starp programmēšanas valodām, ir nepieciešamība deklarēt mainīgā lieluma piešķiršanas veidu. Dažās valodās tas nav nepieciešams, savukārt citās ir stingras prasības. Ir divi galvenie piešķiršanas veidi: statiskā un dinamiskā.

Statiskais pret dinamisko

Statiskais mainīgais ir mainīgais, kura lielums ir noteikts pirms lietojumprogrammas palaišanas. To kompilēšanas laikā iestatījis kompilators. Piemēram, var definēt virkni, kurai ir noteikts garums. Atmiņas vietu, kas nepieciešama garas virknes glabāšanai, statiski piešķir kompilators.

Alternatīva ir dinamiskā piešķiršana. Šeit mainīgā lielumu nosaka programma, kad tā darbojas. Programma satur loģiku, lai pielāgotu mainīgajam piešķirtās atmiņas apjomu, ļaujot tam laika gaitā mainīties, ja ir nepieciešams vairāk vai mazāk vietas. Tas parasti nodrošina lielāku elastību atmiņas lietošanā nekā statiskā piešķiršana, taču tas rada nelielas veiktspējas izmaksas. Viena no galvenajām dinamiskās piešķiršanas priekšrocībām ir tā, ka tā nav jāpiešķir, kamēr tā nav nepieciešama. Atmiņu var atbrīvot, kad tā vairs nav vajadzīga, pat ja programma joprojām darbojas.

Statiski piešķirtie mainīgie tiek pastāvīgi saglabāti atmiņā. Tas nenozīmē, ka programma nevar mainīt mainīgajā saglabāto vērtību. Tā vietā tas nozīmē, ka mainīgā aizņemtās atmiņas apjomu nekad nevar mainīt. Pat ja maināt mainīgo no lielas vērtības uz mazu, jūs nevarat atbrīvot nevienu no tagad nevajadzīgās atmiņas vietas. Jūs arī nevarat palielināt pieejamās vietas daudzumu. Tā var būt problēma, ja mainīgais ir paredzēts mainīga garuma lietotāja ievades glabāšanai.

Funkcijas un apakšprogrammas

Statiskie mainīgie tiek glabāti kaudzē, nevis kaudzē. Tas nozīmē, ka tie paliek pieejami instancē, kurā tie tika izveidoti. Statiski piešķirtie mainīgie programmas galvenajā daļā paliek spēkā un paliek atmiņā visu lietojumprogrammas darbības laiku. Tas ir tāpēc, ka lietojumprogrammas kaudze vienmēr ir tur. Kad tiek izsaukta atsevišķa funkcija vai klase, tā iegūst savu ierakstu kaudzē, kurā var saglabāt jaunus statiski piešķirtos mainīgos. Šo mainīgo atmiņu var atbrīvot, kad klase ir aizvērta, jo ieraksts tiek noņemts no steka.

Secinājums

Statiskā piešķiršana ir atmiņas vietas piešķiršana mainīgajam — kompilators bloķē kompilēšanas laikā nepieciešamo vietas daudzumu. Lai gan mainīgā vērtība var mainīties, tam atvēlētās vietas apjoms nevar mainīties. Šis ierobežojums neļauj atbrīvot vietu, ja tā nav nepieciešama. Tas arī neļauj nodrošināt vairāk vietas, ja tas ir nepieciešams. Statiskajai piešķiršanai ir veiktspējas priekšrocības salīdzinājumā ar dinamisko piešķiršanu, taču tā ir mazāk elastīga. Parasti tiek izmantoti gan statiskie, gan dinamiskie mainīgie, jo tie abi piedāvā priekšrocības.


Kā klonēt cieto disku

Kā klonēt cieto disku

Mūsdienu digitālajā laikmetā, kad dati ir vērtīgs īpašums, cietā diska klonēšana operētājsistēmā Windows daudziem var būt ļoti svarīgs process. Šī visaptverošā rokasgrāmata

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Kā labot draiveri, kuru WUDFRd neizdevās ielādēt operētājsistēmā Windows 10?

Vai datora palaišanas laikā tiek parādīts kļūdas ziņojums, kurā teikts, ka draiveri WUDFRd neizdevās ielādēt datorā?

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Kā labot NVIDIA GeForce Experience kļūdas kodu 0x0003

Vai darbvirsmā ir redzams NVIDIA GeForce pieredzes kļūdas kods 0x0003? Ja jā, izlasiet emuāru, lai uzzinātu, kā ātri un vienkārši novērst šo kļūdu.

Kas ir SMPS?

Kas ir SMPS?

Uzziniet, kas ir SMPS un dažādu efektivitātes reitingu nozīmi, pirms izvēlaties SMPS savam datoram.

Kas ir uz izolāciju balstīta drošība?

Kas ir uz izolāciju balstīta drošība?

Mēs gatavojāmies iedziļināties tēmā, kas kiberdrošības pasaulē kļūst arvien svarīgāka: uz izolāciju balstīta drošība. Šī pieeja, lai

Kā lietot automātisko klikšķinātāju Chromebook datoram

Kā lietot automātisko klikšķinātāju Chromebook datoram

Šodien mēs grasījāmies iedziļināties rīkā, kas var automatizēt atkārtotus klikšķināšanas uzdevumus jūsu Chromebook datorā: automātisko klikšķētāju. Šis rīks var ietaupīt laiku un

Roomba apstājas, pieturas un apgriežas — labojiet

Roomba apstājas, pieturas un apgriežas — labojiet

Novērsiet problēmu, kurā Roomba putekļsūcējs robots apstājas, pielīp un turpina griezties.

Kāpēc mans Chromebook dators neieslēdzas?

Kāpēc mans Chromebook dators neieslēdzas?

Saņemiet atbildes uz jautājumu, kāpēc mans Chromebook dators neieslēdzas? Šajā noderīgajā rokasgrāmatā Chromebook datoru lietotājiem.

Kā mainīt grafikas iestatījumus Steam klājā

Kā mainīt grafikas iestatījumus Steam klājā

Steam Deck piedāvā robustu un daudzpusīgu spēļu pieredzi, kas ir jūsu rokai. Tomēr, lai optimizētu spēles un nodrošinātu labāko iespējamo

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Kā nomainīt pulksteņa ciparnīcu Fitbit Versa 4

Mainiet sava Fitbit Versa 4 pulksteņa ciparnīcu, lai katru dienu bez maksas piešķirtu savam pulkstenim citu izskatu. Skatiet, cik tas ir ātri un vienkārši.