Inleiding tot statisch trefwoord in C

Statisch trefwoord in C varieert op een manier dat het een trefwoord is dat zowel met variabelen als met functies kan worden gebruikt. Daarom is het hard nodig om een ​​afbakening van beide te krijgen om de feitelijke kenmerken of het gedrag van het trefwoord te krijgen, specifiek in termen van C-taal. Het is een beetje moeilijk om het volledige begrip zo grondig te krijgen voor een beginner, dus we zullen de syntaxis doorlopen, echt werken hoe het werkt in C, enkele normen en regels die moeten worden gevolgd omdat het een beetje verwarrend kan zijn om te krijgen wanneer het te gebruiken voor bereik van variabele en wanneer te gebruiken voor bereik van functioneel blok.

Syntaxis

1. Syntaxis van statisch trefwoord in C bij het definiëren van een variabele:

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

2. Syntaxis van statisch trefwoord in C bij het definiëren van een functie:

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

Hoe statisch trefwoord werkt in C?

Kortom, er zijn twee manieren waarop statisch trefwoord werkt in termen van C.

  • Het statische trefwoord in een functie.
  • Het statische trefwoord buiten een functie.

1. Statisch trefwoord in een functie

Declaratie van de variabele binnen een functie is gekoppeld aan de compilatie- en opslagduur van de variabele binnen een functie-aanroep. I eenvoudige woorden, variabelen die als statisch worden gedefinieerd, breiden hun bereik uit voor meerdere functie-aanroepen en kunnen eenmaal verklaard hun bereik niet verliezen tot het einde van de uitvoering van het programma is voltooid. Het begint zijn reikwijdte tijdens het compileren zelf te definiëren.

Voorbeeld

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

Output:

2. Statisch trefwoord buiten een functie

Zodra het statische trefwoord buiten een functie wordt gedeclareerd, beperkt het de reikwijdte van de variabele en wordt het alleen zichtbaar voor het huidige bestand, wat betekent dat de functie zijn reikwijdte beperkt tot het bronbestand zelf. Toegang tot die statische variabele of functie krijgt beperking van een ander bronbestand.

Hoewel het als goed wordt beschouwd om een ​​functie als statisch te verklaren, wat helpt bij het inkapselen van gegevens naar een specifiek bereik. Mensen uit de OOP-achtergrond of Java-achtergrond kunnen het eenvoudig relateren aan de werking van het private en het publieke sleutelwoord.

Voorbeeld

Om variabelen in externe functie te definiëren, dwz op globaal niveau, moeten we ten minste een statisch trefwoord definiëren.

Definieer één statische variabele in één bronbestand en dezelfde variabele in de tweede variabele in een ander bronbestand.

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);
)

Output:

De minimale grootte van een array-parameter opgeven

Er is een heel essentieel gebruik dat we negeren, laten we er eens naar kijken.

We kunnen de compiler ook de opslagparameter vertellen voor de minimale declaratie van elementen binnen een arraypointer voor een functie. Maar dit geval wordt zeer zelden gevolgd (gevolgd tot de C99-compiler).

Voorbeeld

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”);
)

Kortom, dit geeft aan dat het argument niet ongeldig zal zijn.

Regels en voorschriften voor het statische trefwoord in C

1. In termen van statische variabele

  • Een statische variabele blijft altijd in leven als een programma actief is, in tegenstelling tot automatische en gereserveerde zoekwoorden.
  • Opslag en geheugentoewijzing vinden plaats in het gegevenssegment, niet in het stapelsegment.
  • Als de variabele standaard niet wordt opgegeven met een waarde, wordt deze door de compiler standaard expliciet gedefinieerd als 0.
  • Declaratie van statische variabelen wordt meestal gedaan met behulp van constante literalen.
  • Er wordt in de eerste plaats van uitgegaan dat we geen statische variabele binnen een functie moeten definiëren, het maakt de hele functionele module meestal een beetje complex.

2. In termen van statische functie

  • Declaratie van de variabele wordt in principe standaard als globaal beschouwd, daarom wordt het gebruik van een statisch trefwoord met een functie beperkt binnen het bereik door het bereik binnen hetzelfde bronbestand te beperken.
  • Een goed kenmerk van het statisch maken van de functie is herbruikbaarheid, dat wil zeggen dat we dezelfde functie meerdere keren kunnen aanroepen wanneer dat nodig is voor de uitvoering.

voordelen

  • Een variabele als statisch beschouwen is voordelig in de zin dat het helpt bij het optimaliseren van de gehele codestroom.
  • Herbruikbaarheid en herdefinitie helpen de compiler om elke variabele intern aan te roepen zonder dat een ander trefwoord zoals extern domineert.
  • Een ander voordeel is het vergroten van de leesbaarheid op een manier dat de toekomst een bevestiging krijgt dat het bestand als statisch wordt verklaard en niet toegankelijk is voor enig ander bestand of bronbestand.
  • Het voorkomt ook veel dat het c-bestand wordt gedeclareerd, dwz het opnieuw wordt gedeclareerd als een andere externe variabele.

Conclusie

  • De term "statisch" heeft zijn eigen trend om als zinvol of zonder zin te worden beschouwd. De verschillende programmeertaal heeft verschillende betekenissen die alleen betrekking hebben op het statische trefwoord. Object-georiënteerde taal, het gedraagt ​​zich heel mooi met een inkapselingseigenschap.
  • In termen van C, C # en C ++ heeft het een ander karakter. Sommigen beschouwen het gebruik van statische als het beste vanwege de voordelen die het biedt, zoals optimalisatie, herbruikbaarheid, bereikbeperking. De meeste daarvan is de bevestiging van het uiteindelijke leesbare bestand.
  • Later, soms inclusief enkele naïeve gebruikers, kunnen gemakkelijk te weten komen of twee bronbestanden niet overeenkomen door de interne inhoud van de statische functies en statische variabele bij elkaar te houden, omdat dit door de compilatiefout gaat.
  • Maar in termen van C wordt dit niet als een veilige manier beschouwd omdat de interne communicatie tussen threads onveilig en moeilijk wordt omdat het uiteindelijk een globale variabele wordt. Daarom wordt het soms als niet zo conventioneel beschouwd in termen van C om gebruik te maken van het statische trefwoord in C.

Aanbevolen artikelen

Dit is een gids voor statisch trefwoord in C. Hier bespreken we hoe statisch trefwoord werkt in C met de regels en voorschriften. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Variabelen in C
  2. Ruilen in C
  3. Wiskundige functies in C
  4. Omgekeerd nummer in C
  5. Ruilen in PHP
  6. PHP-zoekwoorden
  7. Top 5 HTML-gebeurtenisattributen met voorbeelden