plik


Jezyk C - zmienne extern i static Robert Chwastek - J�zyk C Moja strona g��wna Spis tre�ci Poprzednia strona Zmienne i funkcje klasy extern i static Klasy pami�ci auto i register mog� by� u�yte tylko do zmiennych lokalnych. Klasa static dotyczy r�wnie� obiekt�w (zmiennych i funkcji) deklarowanych poza jakimkolwiek blokiem. Obiekt zadeklarowany poza jakimkolwiek blokiem jest obiektem globalnym. Jest on widoczny od miejsca zadeklarowania do ko�ca pliku. Mo�e by� r�wnie� widoczny w innych plikach, je�li istniej� odpowiednie predefinicje lub prototypy (dla funkcji). Je�li mamy do czynienia ze zmienn�, to b�dzie ona widoczna w innym pliku, gdy poinformujemy kompilator, �e taka zmienna jest zadeklarowana w innym miejscu. S�u�y do tego deklaracja zmiennej klasy extern. Taka deklaracja nie rezerwuje pami�ci na zmienn� - informuje tylko, �e zmienna b�dzie zdefiniowana w dalszej cz�ci tekstu programu lub w innym pliku. Taka zmienna mo�e by� okre�lona mianem zewn�trznej (external). Przyk�ad: extern int cc; ... int cc; Je�li zmienna zadeklarowana jako extern nie b�dzie mia�a odpowiedniej deklaracji, bez modyfikatora extern, to program zostanie skompilowany poprawnie, nie zostanie jednak po��czony przez linker - wyst�pi� bowiem obiekty, kt�re nie zostan� znalezione. Podobnie, je�li wyst�pi predefinicja funkcji, a nigdzie w programie nie b�dzie kompletnej definicji tej funkcji, to program ��cz�cy zg�osi b��dy. Rzeczywista deklaracja zmiennej mo�e wyst�pi�, w dowolnym miejscu po deklaracji extern lub bez niej. Najcz�ciej deklaracje extern wpisuje si� w plikach nag��wkowych wraz z predefinicjami funkcji, natomiast sam� zmienn� deklaruje si� w jednym z plik�w programowych. Klasa static dla obiekt�w globalnych jest przeciwie�stwem klasy extern - informuje bowiem kompilator, �e dana zmienna lub funkcja ma by� widoczna tylko w pliku programowym, w kt�rym zosta�a zdefiniowana lub zadeklarowana. Funkcji i zmiennych globalnych klasy static u�ywa si� podczas tworzenia bibliotek. Pozwalaj� one bowiem na to, by u�ytkownik tej biblioteki widzia� tylko te funkcje i zmienne, kt�re s� mu potrzebne. Do innych funkcji lub zmiennych zwi�zanych z realizacj� zada� wykonywanych przez bibliotek� nie ma dost�pu (nie mo�e wtedy spowodowa� szk�d zwi�zanych z niew�a�ciwym u�yciem funkcji lub przypisaniem b��dnej warto�ci pewnej zmiennej globalnej). Moja strona g��wna Spis tre�ci Nast�pna strona Wszelkie komentarze lub poprawki prze�lij prosz� na adres: Robert.Chwastek@kt.agh.edu.pl © Robert Chwastek, luty 1997

Wyszukiwarka

Podobne podstrony:
Static
staticbase
Static Analysis of Binary Code to Isolate Malicious Behaviors
index static image
ECU VAG EDC15 STATIC
static
WS5 Linear Static Truss
static x push it
static
mod mmap static
2009 08?hesion Bonding Linking Static Applications with Statifier and Ermine
USING A PITOT STATIC TUBE FOR VELOCITY AND FLOW RATE MEASURE
flow static desc ynwslahtp3zkhicxyozjfpal7aa26rge3dmlntq
eFunda Theory of Pitot Static Tubes
Madonna X Static Process
Static
Answer LAB4 1 Static Default Route

więcej podobnych podstron