Ar galime kartu naudoti statinį ir lakiąjį C?
Ar galime kartu naudoti statinį ir lakiąjį C?

Video: Ar galime kartu naudoti statinį ir lakiąjį C?

Video: Ar galime kartu naudoti statinį ir lakiąjį C?
Video: 🌟 BANBANO 4 SODAS! 4 SKYRIUS IŠLEIDĖ! NAUJAS AGUONŲ ŽAIDIMO LAIKAS?? 🔥 „Garten of Banban 4“ apžval 2024, Balandis
Anonim

Statinis kintamieji išlaiko savo vertę tarp funkcijų iškvietimų. Nepastovus kintamieji (o tai nėra priešingybė statinis ) yra naudojamas kai kintamasis yra naudojamas tiek ISR (pertraukimo paslaugos rutinoje), tiek už jos ribų. Nepastovus nurodo kompiliatoriui visada įkelti kintamąjį iš RAM, o ne laikyti jį talpykloje CPU registre.

Panašiai galima paklausti, ar galime kartu naudoti statinį ir nepastovią?

Net jei tu prieiga a statinis vertė per kelias gijas, kiekvieną giją gali turėti vietinę talpykloje esančią kopiją! Norėdami to išvengti tu gali paskelbti kintamąjį kaip statinis nepastovus ir šis valios priversti giją perskaityti kiekvieną kartą visuotinę vertę. Tačiau nepastovios nėra tinkamo sinchronizavimo pakaitalas!

Panašiai, kodėl mes naudojame nepastovią C? C nepastovus raktinis žodis yra kvalifikatorius, kuris taikomas kintamajam, kai jis deklaruojamas. Jis informuoja kompiliatorių, kad kintamojo reikšmė gali pasikeisti bet kuriuo metu – nesiimant jokių veiksmų pagal kompiliatoriaus netoliese randamą kodą. To pasekmės yra gana rimtos.

Atsižvelgiant į tai, ką reiškia statinis nepastovus C?

statinis nurodo kintamojo apimtį. Jei kintamasis yra visuotinis, tai reiškia, kad taikymo sritis apribota šaltinio failu, kuriame jis buvo deklaruotas. Jei kintamasis yra vietinis pagal funkciją, tai reiškia, kad atmintis, naudojama šiam kintamajam laikyti, yra programos statiškai paskirstytoje atmintyje.

Ar galime naudoti const su volatile C?

Taip. Kintamasis gali paskelbti kaip abu nepastovios ir pastovus in C . Konst modifikatorius neleidžia keisti kintamojo reikšmės vidinėje programoje. Tačiau tai nereiškia, kad vertė konst kintamojo neturėtų keisti išorinis kodas.

Rekomenduojamas: