Kan ons staties en vlugtig saam in C gebruik?
Kan ons staties en vlugtig saam in C gebruik?

Video: Kan ons staties en vlugtig saam in C gebruik?

Video: Kan ons staties en vlugtig saam in C gebruik?
Video: A Show of Scrutiny | Critical Role: THE MIGHTY NEIN | Episode 2 2024, November
Anonim

Staties veranderlikes behou hul waarde tussen funksie-oproepe. Vlugtig veranderlikes (wat nie die teenoorgestelde is van staties ) is gebruik word wanneer 'n veranderlike is gebruik word beide binne 'n ISR (onderbrekingsdiensroetine) en daarbuite. Vlugtig vertel die samesteller om altyd beskikbaar vanaf RAM te laai eerder as om dit in 'n CPUregister te kas.

Net so kan 'n mens vra, kan ons staties en vlugtig saam gebruik?

Selfs as jy toegang a staties waarde deur verskeie drade, elke draad kan het sy plaaslike kaskopie! Om dit te vermy jy kan verklaar die veranderlike as staties vlugtig en hierdie sal dwing die draad om elke keer die globale waarde te lees. Maar wisselvallig is nie 'n plaasvervanger vir behoorlike sinchronisasie nie!

Net so, hoekom gebruik ons vlugtige in C? C is wisselvallig sleutelwoord is 'n kwalifiseerder wat op 'n veranderlike toegepas word wanneer dit verklaar word. Dit vertel die samesteller dat die waarde van die veranderlike enige tyd kan verander - sonder dat enige aksie geneem word deur die kode wat die samesteller naby vind. Die implikasies hiervan is redelik ernstig.

As u dit in ag neem, wat beteken statiese vlugtige in C?

staties verwys na die omvang van die veranderlike. As die veranderlike globaal is, beteken dit dat die omvang beperk is tot die bronlêer waarin dit verklaar is. As die veranderlike plaaslik tot 'n funksie is, beteken dit dat die geheue wat gebruik word om hierdie veranderlike te hou, in die toepassing se staties-toegekende geheue is.

Kan ons const met volatile in C gebruik?

Ja. 'n Veranderlike kan as beide verklaar word wisselvallig en konstant in C . konst wysiger laat nie toe om die waarde van die veranderlike deur interne program te verander nie. Maar, dit beteken nie dat waarde van konst veranderlike moet nie deur eksterne kode verander word nie.

Aanbeveel: