Introduktion till statisk nyckelord i C

Statiska nyckelord i C varierar olika på ett sätt som det är ett nyckelord som kan användas med variabler såväl som med funktioner. Därför är det mycket nödvändigt att få en avgränsning av både för att få de faktiska egenskaperna eller beteendet hos sökordet specifikt när det gäller C-språk. Det är lite svårt att få fullständig förståelse så noggrant för en nybörjare så att vi kommer att köra igenom syntaxen, faktiskt arbeta hur det fungerar i C, vissa normer och regler som ska följas eftersom det kan vara lite förvirrande att få när man ska använda den för omfattning av variabel och när den ska användas för omfattning av funktionsblock.

Syntax

1. Syntax för statiska nyckelord i C när en variabel definieras:

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

2. Syntax för statiska nyckelord i C när man definierar en funktion:

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

Hur fungerar statiska nyckelord i C?

I grund och botten finns det två sätt på vilka statiska nyckelord fungerar i termer av C.

  • Det statiska nyckelordet i en funktion.
  • Det statiska nyckelordet utanför en funktion.

1. Statiska nyckelord i en funktion

Deklaration av variabeln inom en funktion är associerad med kompileringstiden och lagringstiden för variabeln inom ett funktionssamtal. Jag enkla ord, variabler definierade som statiska utökar deras räckvidd för flera funktionssamtal och en gång deklarerat kan inte förlora sitt räckvidd förrän programmets genomförande är slut. Det börjar definiera dess omfattning vid själva kompileringstiden.

Exempel

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

Produktion:

2. Statiska nyckelord utanför en funktion

När det statiska nyckelordet har deklarerats utanför en funktion begränsar det dess omfång för variabeln och blir synlig för den aktuella filen bara vilket innebär att funktionen kommer att få dess omfattning begränsad till själva källfilen. Åtkomst till den statiska variabeln eller funktionen får begränsning från en annan källfil.

Även om det anses bra att förklara en funktion som statisk som hjälper till med datakapsling till ett specifikt omfång. Personer med OOP: s bakgrund eller java-bakgrund kan enkelt relatera den till det privata och det offentliga sökordets funktion.

Exempel

För att definiera variabler i extern funktion, dvs på global nivå måste vi definiera åtminstone statiska nyckelord.

Definiera en statisk variabel i en källfil och samma variabel i den andra variabeln i en annan källfil.

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

Produktion:

Ange minsta storlek på en matrisparameter

Det finns en mycket viktig användning som vi ignorerar ibland låt oss ta en titt på det.

Vi kan berätta för kompilatorn lagringsparametern för den minsta deklarationen av element inom en matrispekare till en funktion också. Men detta fall följs väldigt sällan (följt till C99-kompilatorn).

Exempel

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

I princip informerar detta om att argumentet inte kommer att vara ogiltigt.

Regler och förordningar för det statiska nyckelordet i C

1. När det gäller statisk variabel

  • En statisk variabel förblir alltid vid liv när ett program är i körtillstånd till skillnad från auto och reserverade nyckelord.
  • Lagring och minnesallokering sker i datasegmentet, inte i stapelsegmentet.
  • Som standard, om variabeln inte deklareras med något värde som standard, kommer den att definiera uttryckligen av kompilatorn som 0.
  • Förklaring av statiska variabler görs mestadels med konstant bokstav.
  • Det anses främst att vi inte bör definiera en statisk variabel i en funktion, det gör oftast hela funktionsmodulen lite komplex.

2. När det gäller statisk funktion

  • Förklaring av variabeln anses i grunden vara global som standard, därför att använda statiska nyckelord med en funktion gör att den begränsas inom räckvidden genom att begränsa räckvidden inom samma källfil.
  • Ett bra kännetecken för att göra funktionen statisk är återanvändbarhet, dvs vi kan ringa samma funktion flera gånger när det krävs för exekvering.

fördelar

  • Att betrakta en variabel som statisk är fördelaktigt i den meningen Det hjälper till att optimera hela kodflödet.
  • Återanvändbarhet och omdefinition hjälper kompilatorn att ringa någon variabel internt utan att göra något annat nyckelord som extern att dominera.
  • En annan fördel är att öka läsbarheten på ett sätt som framtiden får ett erkännande av att filen förklaras som statisk och inte är tillgänglig för någon annan fil eller källfil.
  • Det förhindrar också mycket från att deklarera c-filen, dvs omdeklarera den som någon annan extern variabel.

Slutsats

  • Uttrycket "statisk" har sin egen trend om det ska betraktas som förnuftigt eller utan förnuft. Det olika programmeringsspråket har olika betydelser endast relaterade till det statiska nyckelordet. Objektorienterat språk, det uppför sig med en inkapslingsegenskap mycket snyggt.
  • När det gäller C, C # och C ++ Det har en annan karaktär. Vissa anser att användningen av statisk är bäst på grund av de fördelar den har med som optimering, återanvändbarhet, omfattningsbegränsning. De flesta är erkännandet av den slutliga läsbara filen.
  • Senare någon gång inklusive några naiva användare kan lätt lära känna om två källfiler inte matchar genom att stämma in det interna innehållet i de statiska funktionerna och den statiska variabeln som det kommer genom kompileringsfelet.
  • Men vad gäller C betraktas detta inte som ett säkert och säkert sätt eftersom den interna kommunikationen mellan trådarna blir osäkra och svåra eftersom det i slutändan blir en global variabel. Därför anses det ibland inte vara så konventionellt sätt i termer av C att använda statiska nyckelord i C.

Rekommenderade artiklar

Det här är en guide till statiska nyckelord i C. Här diskuterar vi hur statiska nyckelord fungerar i C med regler och förordningar. Du kan också titta på följande artikel för att lära dig mer -

  1. Variabler i C
  2. Byta i C
  3. Matematiska funktioner i C
  4. Omvänd nummer i C
  5. Byta in PHP
  6. PHP-nyckelord
  7. Topp 5 HTML-händelseattribut med exempel

Kategori: