Què és lassignació estàtica?

Quan escriu codi informàtic, hi ha moltes coses per entendre. Cada llenguatge de programació és diferent, amb el seu propi conjunt de sintaxis i estructures. Una de les coses comunes a molts llenguatges de programació és la necessitat d'establir variables. Les variables emmagatzemen dades de manera que es puguin fer referència en el futur.

Podeu assignar diferents valors a una variable, com ara cadenes de text, números o una matriu de dades, entre moltes altres coses. Molts idiomes requereixen que declareu quin tipus de dades s'emmagatzemaran en una variable limitant-vos només a números, per exemple.

Una altra cosa que difereix entre els llenguatges de programació és la necessitat de declarar el tipus d'assignació d'una variable. Alguns idiomes no ho requereixen, mentre que altres són estrictes. Hi ha dos tipus d'assignació principals: estàtica i dinàmica.

Estàtica vs. Dinàmica

Una variable estàtica és una variable que té la seva mida determinada abans que l'aplicació s'executi. Està establert en temps de compilació pel compilador. Per exemple, es pot definir una cadena que tingui una longitud definitiva. L'espai de memòria necessari per emmagatzemar una cadena llarga és assignat estàticament pel compilador.

L'alternativa és l'assignació dinàmica. Aquí la mida de la variable la defineix el programa mentre s'executa. El programa conté una lògica per ajustar la quantitat de memòria assignada a la variable, permetent-la canviar amb el temps si es necessita més o menys espai. Això normalment ofereix més flexibilitat en l'ús de la memòria que l'assignació estàtica, però té un cost de rendiment una mica. Un dels principals avantatges de l'assignació dinàmica és que no cal assignar-la fins que sigui necessària. La memòria es pot alliberar quan ja no la necessiti, fins i tot si el programa encara s'està executant.

Les variables assignades estàticament s'emmagatzemen permanentment a la memòria. Això no vol dir que el programa no pugui canviar el valor emmagatzemat a la variable. En canvi, vol dir que la quantitat de memòria que ocupa la variable no es pot canviar mai. Fins i tot si canvieu la variable d'un valor gran a un de petit, no podreu alliberar cap d'aquest espai de memòria ara innecessari. Tampoc podeu augmentar la quantitat d'espai disponible. Això pot ser un problema si la variable està pensada per emmagatzemar entrades d'usuari de longitud variable.

Funcions i subrutines

Les variables estàtiques s'emmagatzemen a la pila i no a la pila. Això vol dir que romanen disponibles en la instància en què es van crear. Les variables assignades estàticament al cos principal d'un programa es mantenen vàlides i a la memòria durant tot el temps que s'executa l'aplicació. Això es deu al fet que la pila de l'aplicació sempre hi és. Quan es crida a una funció o classe separada, obté el seu registre a la pila en la qual es poden emmagatzemar noves variables assignades estàticament. La memòria d'aquestes variables es pot alliberar un cop es tanqui la classe, ja que el registre surt de la pila.

Conclusió

L'assignació estàtica és l'assignació d'espai de memòria per a una variable: el compilador bloqueja la quantitat d'espai necessari en temps de compilació. Tot i que el valor de la variable pot canviar, la quantitat d'espai assignat no ho pot fer. Aquest límit evita que s'alliberi espai si no és necessari. També evita que es disposi més espai si és necessari. L'assignació estàtica té un avantatge de rendiment respecte a l'assignació dinàmica, però és menys flexible. Normalment s'utilitzen variables estàtiques i dinàmiques, ja que totes dues ofereixen avantatges.


Què és SMPS?

Què és SMPS?

Apreneu què és SMPS i el significat de les diferents classificacions d'eficiència abans de triar un SMPS per al vostre ordinador.

Per què el meu Chromebook no sencén

Per què el meu Chromebook no sencén

Obteniu respostes a la pregunta: Per què el meu Chromebook no s'encén? En aquesta guia útil per als usuaris de Chromebook.

Com informar de les estafes de pesca a Google

Com informar de les estafes de pesca a Google

Obteniu informació sobre com informar d'un estafador a Google per evitar que estafeu altres persones amb aquesta guia.

Roomba satura, senganxa i gira - Arregla

Roomba satura, senganxa i gira - Arregla

Solucioneu un problema en què el vostre robot aspirador Roomba s'atura, s'enganxa i segueix girant.

Com canviar la configuració gràfica a Steam Deck

Com canviar la configuració gràfica a Steam Deck

El Steam Deck ofereix una experiència de joc robusta i versàtil al teu abast. Tanmateix, per optimitzar el vostre joc i garantir el millor possible

Què és la seguretat basada en laïllament?

Què és la seguretat basada en laïllament?

Anàvem a aprofundir en un tema que cada cop és més important en el món de la ciberseguretat: la seguretat basada en l'aïllament. Aquest enfocament a

Com utilitzar el clic automàtic per a Chromebook

Com utilitzar el clic automàtic per a Chromebook

Avui anàvem a aprofundir en una eina que pot automatitzar tasques de clics repetitius al vostre Chromebook: el clic automàtic. Aquesta eina us pot estalviar temps i

Com canviar la cara del rellotge en un Fitbit Versa 4

Com canviar la cara del rellotge en un Fitbit Versa 4

Canvia la cara del rellotge del teu Fitbit Versa 4 per donar-li un aspecte diferent cada dia de manera gratuïta. Mireu que fàcil i ràpid és.

Com treure una GPU dun PC Windows el 2023

Com treure una GPU dun PC Windows el 2023

Necessites treure la GPU del teu ordinador? Uneix-te a mi mentre t'explico com eliminar una GPU del teu PC en aquesta guia pas a pas.

Què és el surf despatlles?

Què és el surf despatlles?

El surf a l'espatlla és una classe d'atac d'enginyeria social. Implica que un atacant recopila informació mirant la pantalla.