Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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.