dek def

background image

Programowanie procesorów w języku C

dodatek “różnica między deklaracją a definicją”

Nazwy “deklaracja” i “definicja” były używane dość swobodnie. Jednak oba te słowa oznaczają w C dwa

różne działania i warto wreszcie powiedzieć sobie dokładnie co one oznaczają.

Deklaracja:
Deklaracja określa pewne własności identyfikatora, jednak nie rezerwuje pamięci. Na przykład:

- informuje kompilator, że identyfikator z1 oznacza zmienną typu int. Jednocześnie zaznaczono, że

zmienna ta jest tworzona poza aktualnym plikiem źródłowym.

- informuje kompilator, że identyfikator tab jest tablicą elementów ośmiobitowych bez znaku.

- informuje kompilator, że identyfikator f jest funkcją zwracającą wartość typu int oraz nie przyjmującą

żadnych argumentów.

Definicja:
Zajmuje pamięć dla obiektu oraz deklaruje () go. Na przykład:

- tworzy zmienna z1, zajmuje dla niej pamięć (dla WinAVR będą to dwa bajty) oraz informuje

kompilator, że identyfikator z1 oznacza zmienną typu int.

- tworzy zmienna z2, zajmuje dla niej pamięć, inicjuje ją wartością 0 oraz informuje kompilator, że

identyfikator z2 oznacza zmienną typu int.

- tworzy tablicę tab, zajmuje dla niej pamięć (10 bajtów) oraz informuje kompilator, że identyfikator tab

jest tablicą elementów ośmiobitowych bez znaku.

- tworzy funkcję f, zajmuje dla niej pamięć (pamięć ROM, umieszcza w niej program), oraz informuje

kompilator, że identyfikator f jest funkcją zwracającą wartość typu int oraz nie przyjmującą żadnych
argumentów.

Podsumujmy skrótowo:
Deklaracja: Przypisanie własności do identyfikatora.
Definicja: Zajęcie pamięci dla obiektu oraz definicja.

Wersja przeznaczona do bezpłatnego udostępnienia poprzez stronę

www.elportal.pl

(

www.elportal.com.pl

,

www.edw.com.pl

). Jeśli

pobrałeś ten plik z innego miejsca – proszę, poinformuj mnie o tym:

radoslaw.koppel@elportal.pl

. Jeśli chcesz umieścić ten plik na

swojej stronie lub masz jakieś uwagi – skontaktuj się ze mną.

-1/1-

extern

int

z1;

extern

uint8_t tab[];

int

f(

void

);

int

z1;

int

z2 =

0

;

uint8_t tab[

10

];



int

f(

void

)

{

return

0

;

}


Wyszukiwarka

Podobne podstrony:
3 def Kv
PN 86 B 02480 DEF
Poj def zag tur
DEK I 0
001 Algebra, Algebra def tw wl wzory
def, Medycyna, Zdrowie Publiczne & Organizacja i ekonomika w ochronie zdrowia
def zabawy(1), Studia, pedagogika przedszkolna
Def poj etap proj, projektowanie
def sposób rozliczania instrumentów pochodnych
Def przestępczości zorganizowanej w Polsce
Logistyka DEF 5 13
porzÄ dek koryncki
retencja moja, Dek
def, oprac bial 020110, JĘZYK
Matematyka (rok I i II), MACIERZE, Def
Podstawy metrologii dr Czesław Jermak [ metody, def., tematy], metody-pom, Pierwszy pode metod, prze
Dek praw człowieka,karta narodów zjednoczonych,konwencja o prawach dziecka

więcej podobnych podstron