Johdanto staattiseen avainsanaan C: ssä

Staattinen avainsana C: ssä vaihtelee eri tavalla siten, että se on avainsana, jota voidaan käyttää sekä muuttujien että funktioiden kanssa. Siksi on erittäin tärkeää saada rajat molemmilta, jotta saadaan avainsanan todelliset ominaisuudet tai käyttäytyminen erityisesti C-kielen suhteen. On vähän vaikeaa saada täydellistä ymmärrystä niin perusteellisesti aloittelijalle, että ajamme läpi syntaksin, todellisen työskentelytavan, miten se toimii C: ssä, joitain normeja ja sääntöjä, joita on noudatettava, koska voi olla hieman hämmentävää saada, kun haluat käyttää sitä muuttujan laajuus ja milloin sitä käytetään toiminnallisen lohkon laajuuteen.

Syntaksi

1. Staattisen avainsanan syntaksi C: ssä muuttujaa määritettäessä:

static
static
Examples of syntax for static variables:
static int run = 0;
int static sleep = 0;

2. Staattisen avainsanan syntaksi C: ssä funktion määrittelyssä:

static
static
Examples of syntax for static functions:
static void run ()
(
)
void static sleep ()
(
)

Kuinka staattinen avainsana toimii C: ssä?

Periaatteessa on olemassa kaksi tapaa, jolla staattinen avainsana toimii C: n suhteen.

  • Staattinen avainsana toiminnon sisällä.
  • Staattinen avainsana toiminnon ulkopuolella.

1. Staattinen avainsana toiminnon sisällä

Muuttujan ilmoittaminen toiminnossa liittyy muuttujan kokoamisaikaan ja tallennusaikaan funktion puhelun sisällä. Yksinkertaisin sanoin, staattisiksi määritellyt muuttujat laajentavat niiden laajuutta useille funktiokutsuille, ja kun ne on ilmoitettu, ne eivät voi menettää sen laajuutta ohjelman suorittamisen loppuun saakka. Se alkaa määritellä sen soveltamisalaa itse laatiessaan.

esimerkki

# include
int main ()
(
run ();
run ();
run ();
)
void run ()
(
static int running = 0;
++running;
printf ("The function \"run\" was called %d times.\n", running);
)

lähtö:

2. Staattinen avainsana toiminnon ulkopuolella

Kun staattinen avainsana on julistettu toiminnon ulkopuolella, se rajoittaa muuttujan laajuutta ja tulee näkyviin vain nykyiselle tiedostolle, mikä tarkoittaa, että funktio rajoittuu sen lähdetiedostoon. Tämän staattisen muuttujan tai toiminnon käyttö rajoittaa toista lähdetiedostoa.

Vaikka toimintoa pidetään hyvänä staattisena, joka auttaa tietojen kapseloinnissa tiettyyn laajuuteen. OOP-tausta- tai java-taustaiset ihmiset voivat helposti yhdistää sen yksityisen ja julkisen avainsanan toimintaan.

esimerkki

Muuttujien määrittelemiseksi ulkopuolisessa funktiossa eli globaalilla tasolla on määriteltävä ainakin staattinen avainsana.

Määritä yksi staattinen muuttuja yhdessä lähdetiedostossa ja sama muuttuja toisessa muuttujassa toisessa lähdetiedostossa.

Source1.c
static int sleep = 0;
Source2.c
static int sleep= 0;
static void sleep ()
(
static int sleeping = 0;
++ sleeping;
printf (“the function \ “sleep\” was called %d times.\n”, sleeping);
)

lähtö:

Taulukkoparametrin vähimmäiskoon määrittäminen

On yksi erittäin välttämätön käyttö, jota emme huomioi, joskus tutkitaan sitä.

Voimme kertoa kääntäjälle myös taulukkoosoittimen elementtien vähimmäisilmoitusparametrit toiminnolle. Mutta tätä tapausta seurataan hyvin harvoin (noudatetaan C99-kääntäjään asti).

esimerkki

Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)
Void print Array (int myArray (static 10), int size)
(
int i;
printf (“(“);
for (i<0; i (
printf (“%d”, myArray(i));
)
printf (“) \n”);
)

Pohjimmiltaan tämä ilmoittaa, että väite ei ole tyhjä.

Staattisen avainsanan säännöt ja määräykset C: ssä

1. Staattisen muuttujan suhteen

  • Staattinen muuttuja pysyy aina elossa ohjelman ollessa käynnissä tilassa toisin kuin automaattiset ja varatut avainsanat.
  • Tallennus ja muistin allokointi tapahtuvat data-segmentissä, ei pino-segmentissä.
  • Jos muuttujaa ei ole oletuksena ilmoitettu millään arvolla, se määrittää kääntäjän nimenomaisesti arvoksi 0.
  • Staattisten muuttujien ilmoittaminen tapahtuu pääasiassa vakiokirjaimilla.
  • Ensisijaisesti katsotaan, että meidän ei pitäisi määritellä staattista muuttujaa toiminnon sisällä, se tekee useimmiten koko toiminnallisen moduulin hieman monimutkaiseksi.

2. Staattisen toiminnan kannalta

  • Muuttujan ilmoitusta pidetään periaatteessa globaalina oletuksena, joten staattisen avainsanan käyttäminen funktion avulla rajoittaa sen laajuutta rajoittamalla laajuutta samassa lähdetiedostossa.
  • Yksi hyvä ominaisuus funktion staattisuudesta on uudelleenkäytettävyys, ts. Voimme soittaa samaan funktioon useita kertoja aina kun sitä tarvitaan suorittamiseen.

edut

  • Muuttujan pitäminen staattisena on edullista siinä mielessä, että se auttaa koko koodivirran optimoinnissa.
  • Uudelleenkäytettävyys ja uudelleenmäärittely auttavat kääntäjää soittamaan mitä tahansa muuttujaa sisäisesti tekemättä hallitsevaksi mitään muuta avainsanaa, kuten ulkoa.
  • Yksi etuna on luettavuuden lisääminen siten, että tulevaisuudessa saadaan vahvistus siitä, että tiedosto on ilmoitettu staattiseksi ja ettei mikään muu tiedosto tai lähdetiedosto pääse siihen.
  • Se estää myös paljon julistamasta c-tiedostoa eli julistamasta sitä toisena ulkoisena muuttujana.

johtopäätös

  • Termällä ”staattinen” on oma trendi, pidetäänkö sitä järkevänä vai ilman järkeä. Eri ohjelmointikielellä on erilaisia ​​merkityksiä, jotka liittyvät vain staattiseen avainsanaan. Objektisuuntautunut kieli, se käyttäytyy kapselointiominaisuuden kanssa erittäin hienosti.
  • C: n, C #: n ja C ++: n suhteen sillä on erilainen luonne. Jotkut katsovat staattisen käytön parhaaksi, koska se ylpeilee eduistaan, kuten optimointi, uudelleenkäytettävyys, laajuuden rajoittaminen. Suurin osa siitä on lopullisen luettavan tiedoston kuittaus.
  • Myöhemmin joskus jotkut naiivit käyttäjät voivat helposti tietää, jos kaksi lähdetiedostoa eivät täsmää, laskemalla staattisten toimintojen sisäinen sisältö ja staattinen muuttuja, koska se tapahtuu käännösvirheen kautta.
  • Mutta C: n kannalta tätä ei pidetä turvallisena tapana, koska säikeiden välinen sisäinen viestintä tulee vaarattomaksi ja vaikeaksi, koska siitä tulee lopulta globaali muuttuja. Siksi joskus ei pidetä C: n kannalta niin tavanomaista tapaa käyttää staattista avainsanaa C: ssä.

Suositellut artikkelit

Tämä on opas staattiseen avainsanaan C: ssä. Tässä keskustellaan kuinka staattinen avainsana toimii C: ssä sääntöjen ja määräysten kanssa. Voit myös tarkastella seuraavaa artikkelia saadaksesi lisätietoja -

  1. Muuttujat C: ssä
  2. Vaihto C: ssä
  3. Matematiikan tehtävät C: ssä
  4. Käänteinen numero C: nä
  5. Vaihtaminen PHP: ssä
  6. PHP-avainsanat
  7. 5 suosituinta HTML-tapahtumamääritettä esimerkillä