Увод у статичку кључну реч у Ц

Статичка кључна реч у Ц варира различито на начин да је кључна реч која се може користити и са променљивим и са функцијама. Стога је веома потребно да се разграничи и једно и друго како би се добиле стварне карактеристике или понашање кључне ријечи посебно у погледу језика Ц. Мало је тешко стећи потпуно разумевање за почетнике, тако да ћемо се возити кроз синтаксу, заправо радећи како то функционише на Ц, неким нормама и правилима која треба поштовати јер може бити мало збуњујуће за схватити када то искористити за опсег променљиве и када треба користити за опсег функционалног блока.

Синтакса

1. Синтакса статичке кључне речи у Ц приликом дефинисања променљиве:

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

2. Синтакса статичке кључне речи у Ц приликом дефинисања функције:

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

Како статичка кључна реч делује на Ц?

У основи постоје два начина на која статичка кључна реч делује у смислу Ц.

  • Статична кључна реч унутар функције.
  • Статичка кључна реч изван функције.

1. Статичка кључна реч унутар функције

Изјава променљиве унутар функције повезана је са временом компилације и трајањем меморије променљиве унутар позива функције. Једноставним речима, променљиве дефинисане као статичке проширују опсег за вишеструке позиве функција и једном проглашеном не може изгубити опсег све док се заврши извршавање програма. Почиње да дефинише свој обим у време компилације.

Пример

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

Излаз:

2. Статичка кључна реч изван функције

Једном када се статична кључна реч декларише изван функције, она ограничава њен опсег променљиве и постаје видљива само тренутној датотеци, што значи да ће функција добити свој опсег ограничена на саму изворну датотеку. Приступ тој статичкој варијабли или функцији ограничава се из друге изворне датотеке.

Иако се сматра добром декларирати функцију статичком која помаже у капсулирању података до одређеног опсега. Људи из ООП-а или из јава позадине могу их лако повезати са приватним и јавним кључним речима.

Пример

Да бисмо дефинисали променљиве у спољној функцији, тј. На глобалном нивоу, морамо дефинирати барем статичку кључну реч.

Дефинишите једну статичку варијаблу у једној изворној датотеци и исту варијаблу у другој променљивој у другој изворној датотеци.

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

Излаз:

Одређивање минималне величине параметра низа

Постоји једна веома битна употреба коју понекад занемаримо, погледајмо је.

Компајлеру можемо рећи параметар складиштења за минимално декларирање елемената унутар показивача поља на функцију. Али овај случај се прати веома ретко (следи га до Ц99 преводиоца).

Пример

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

У основи, ово ће довести до тога да аргумент неће бити ништав.

Правила и правила за статичку кључну реч на Ц

1. У смислу статичке променљиве

  • Статичка променљива увек остаје активна када је програм у исправном стању за разлику од аутоматске и резервисане кључне речи.
  • Складиштење и распоређивање меморије се догађају у сегменту података, а не у сегменту снопа.
  • Ако подразумевана варијабла није декларисана ниједном вредношћу, компајлер ће експлицитно дефинисати као 0.
  • Декларација статичких варијабли углавном се врши помоћу константних литерала.
  • Првенствено се сматра да не бисмо требали дефинисати статичку променљиву унутар функције, већином чини читав функционални модул мало сложеним.

2. У смислу статичке функције

  • Декларација променљиве у основи се подразумева глобалном, па се употребом статичке кључне речи са функцијом ограничава на домет ограничавањем опсега у истој изворној датотеци.
  • Једна добра карактеристика стварања функције статичком је употребљивост, тј. Исту функцију можемо позвати више пута кад год је то потребно за извршење.

Предности

  • Разматрање променљиве као статичке је корисно у смислу што помаже у оптимизацији целокупног тока кода.
  • Поновна употреба и редефиниција помажу преводиоцу да интерно назове било коју варијаблу без присвајања било које друге кључне речи као што је ектерн.
  • Још једна предност је повећавање читљивости на начин да ће будућност добити потврду да је датотека декларирана као статична и да јој ниједна друга датотека није доступна.
  • Такође спречава много да декларише ц датотеку, односно да је декларише као неку другу спољну променљиву.

Закључак

  • Израз "статички" има свој тренд да ли га треба сматрати разумним или без смисла. Различити програмски језик има различита значења која се односе само на статичку кључну реч. Објектно оријентисан језик, понаша се са својством енкапсулације веома лепо.
  • У погледу Ц, Ц # и Ц ++ Има другачију природу. Неки сматрају да је употреба статике најбоља због предности које поседује попут оптимизације, поновне употребе, ограничења обима. Већина од њих је потврда коначне датотеке за читање.
  • Касније, укључујући неке наивне кориснике, можете лако сазнати да ли се две изворне датотеке не поклапају тако што ће се уврстити унутрашњи садржај статичких функција и статичке променљиве, као што ће се десити грешком компилације.
  • Али у погледу Ц, то се не сматра сигурним и сигурним начином, јер унутрашња комуникација између нити постаје несигурна и тешка јер на крају постаје глобална варијабла. Стога се понекад у смислу Ц сматра не баш уобичајеним начин употребе статичке кључне речи у Ц.

Препоручени чланци

Ово је водич за статичку кључну реч у Ц. Овде смо расправљали о томе како статичка кључна реч делује на Ц са правилима и одредбама. Такође можете погледати следећи чланак да бисте сазнали више -

  1. Варијабле у Ц
  2. Замена у Ц
  3. Математичке функције на Ц
  4. Обрнути број у Ц
  5. Замјена у ПХП-у
  6. ПХП Кључне речи
  7. Топ 5 атрибута ХТМЛ догађаја са примерима

Категорија: