Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Čo sú triedy úložného priestoru?

V programovaní C určujú triedy úložiska rozsah , Lifetime a Linkage premennej alebo funkcie. Ovládajú, ako kompilátor riadi pamäť pridelenú týmto prvkom. Rozdeľme každú triedu úložiska:

1. Automatické (auto):

* rozsah: Miestne do bloku, v ktorom je vyhlásený.

* Lifetime: Existuje iba počas vykonávania bloku, kde je vyhlásený.

* Linkage: Žiadne prepojenie (nie je prístupné zvonku funkcie).

* Príklad:

`` C

int main () {

int x =10; // 'x' je automatická premenná

// ...

}

`` `

2. Externé (extern):

* rozsah: Globálny rozsah.

* Lifetime: Existuje počas celého vykonávania celého programu.

* Linkage: Externé prepojenie (prístupné z iných súborov).

* Príklad:

`` C

// v súbore1.c

externá int y; // vyhlasuje „y“ ako vonkajší

// v File2.c

int y =20; // Definuje „y“

`` `

3. Statické:

* rozsah: Miestne do bloku, kde je vyhlásený.

* Lifetime: Existuje pre vykonanie celého programu.

* Linkage: Interné prepojenie (prístupné iba v rámci aktuálneho súboru).

* Príklad:

`` C

void myfunc () {

statický int count =0; // 'Count si zachováva svoju hodnotu medzi funkčnými hovormi

počet ++;

printf ("count:%d \ n", count);

}

`` `

4. Register:

* rozsah: Miestne do bloku, kde je vyhlásený.

* Lifetime: Existuje iba počas vykonávania bloku, kde je vyhlásený.

* Linkage: Žiadne prepojenie (nie je prístupné zvonku funkcie).

* Príklad:

`` C

void myfunc () {

Register int i; // Žiadosť o kompilátora na ukladanie „I“ v registri

pre (i =0; i <10; i ++) {

// ...

}

}

`` `

Kľúčové body:

* rozsah: Určuje, kde v programe je prístupná premenná alebo funkcia.

* Lifetime: Ovláda, ako dlho existuje premenná v pamäti.

* Linkage: Diktuje, či k premennej alebo funkcii je možné pristupovať z iných zdrojových súborov.

Prečo sú triedy úložiska dôležité?

Pochopenie tried úložiska je rozhodujúce pre efektívne programovanie C:

* Správa pamäte: Pomáhajú vám kontrolovať, ako sa prideľuje a ukladá pamäť.

* Organizácia kódu: Uľahčujú modularitu a znovu použiteľnosť kódu.

* Optimalizácia výkonu: „Register“ môžete použiť na potenciálne zlepšenie výkonu ukladaním premenných v registroch.

Ďalšie informácie:

* Triedy úložiska sú definované pomocou kľúčových slov v vyhlásení premennej alebo funkcie.

* Kľúčové slovo „Auto` je často vynechané, pretože je predvolenou triedou úložiska pre miestne premenné.

* Kľúčové slovo „Register“ je náznakom kompilátora a nemusí byť vždy poctený.

Dajte mi vedieť, či by ste chceli podrobnejšie preskúmať konkrétnu triedu úložiska alebo mať ďalšie otázky.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené