dek_def.pdf
(
96 KB
)
Pobierz
793113 UNPDF
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:
extern
int
z1;
extern
uint8_t tab[];
int
f(
void
);
- 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 ora
z
deklaruje
(
)
go. Na przykład:
int
z1;
int
z2 =
0
;
uint8_t tab[
10
];
int
f(
void
)
{
return
0
;
}
- 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-
Plik z chomika:
atari666
Inne pliki z tego folderu:
index.php.htm
(211 KB)
EdW_kurs_gcc.rar
(86006 KB)
D15G14E_14_030526.pdf
(731 KB)
c2_oper.pdf
(54 KB)
dyn_spec.wmv
(397 KB)
Inne foldery tego chomika:
Hall M. - JavaScript i Java server pages
Zgłoś jeśli
naruszono regulamin