Kluczowa różnica między deklaracją a definicją w C polega na tym, że deklaracja w C informuje kompilator o nazwie funkcji, typie zwracanym i parametrach, podczas gdy definicja w C zawiera rzeczywistą implementację funkcji. Oznacza to, że deklaracja dostarcza informacji o funkcji do kompilatora, podczas gdy definicja zawiera rzeczywiste instrukcje funkcji do wykonania określonego zadania.
C to ustrukturyzowany język programowania ogólnego przeznaczenia. Wykorzystuje struktury sterujące, takie jak if/else, powtórzenia, takie jak pętla for, pętla while i funkcje. Funkcja to zestaw instrukcji, który pomaga w wielokrotnym wykonywaniu określonego zadania. Ponadto możliwe jest wywoływanie funkcji z funkcji głównej. Po wykonaniu ostatniej instrukcji funkcji sterowanie przechodzi z powrotem do funkcji main. W tym artykule omówiono deklarację i definicję funkcji w C oraz porównano różnice między nimi. Definicja funkcji określa, co robi funkcja, a deklaracja określa, co trafia do funkcji; to jest prototyp.
Co to jest deklaracja w C?
Deklaracja dostarcza informacji o funkcji do kompilatora. Składnia deklaracji jest następująca.
return_ type function_name (lista parametrów);
Przyjmij funkcję, która oblicza sumę dwóch liczb całkowitych. Deklaracja jest następująca.
int suma (int num1, int num2);
Nazwa funkcji to sum, a parametrami są dwie liczby całkowite, które są num1 i num2. Ta funkcja zwraca liczbę całkowitą. Całe oświadczenie kończy się średnikiem.
Nie jest konieczne umieszczanie nazw parametrów w deklaracji. W związku z tym można również wymienić tylko typ danych w następujący sposób. Poniżej znajduje się prawidłowa deklaracja.
int suma (int, int);
Co to jest definicja w C?
Definicja zawiera rzeczywiste instrukcje funkcji do wykonania określonego zadania. Składnia jest następująca.
return_type function_name (lista parametrów){
// instrukcje funkcji
}
Nazwa funkcji pomaga zidentyfikować funkcję. Podczas wywoływania funkcji wartości przechodzą do tej funkcji. Te wartości kopiują się do parametrów. Lista parametrów może zawierać jeden parametr lub liczbę parametrów. A te parametry mają typ danych i nazwę. Co więcej, mogą istnieć również funkcje bez żadnego parametru.
Wyrażenia funkcji znajdują się w nawiasach klamrowych. Jest to ciało funkcyjne. Po wykonaniu funkcji zwróci wartość. Typ zwrotu zależy od wartości zwracanej. Jeśli funkcja zwraca liczbę całkowitą, typem zwracanym jest int. Jeśli funkcja zwraca double, to zwracany typ to double itd.
Odnieś się do poniższego kodu z deklaracją i definicją funkcji.
Rysunek 01: Program do obliczania sumy dwóch liczb
Zgodnie z powyższym programem, wiersz 3 wyświetla deklarację. Informuje kompilator o nazwie funkcji, parametrach itp. W funkcji głównej dwie wartości są pobierane z klawiatury i są przechowywane w zmiennej „a” i „b”. W linii 12. wartości te są przekazywane do funkcji o nazwie sum. Te „a” i „b” są argumentami.
W linii 16 wykonywana jest funkcja sum. Kopiuje wartość a do num1 i wartość b do num2. Ta funkcja zwraca sumę i tę wartość przechowuje w zmiennej „ans” (wiersz 12). Wreszcie na ekranie pojawia się odpowiedź. W skrócie, wiersz 3 pokazuje deklarację, a wiersze 16 do 18 wyświetla definicję.
Jaka jest różnica między deklaracją a definicją w C?
Deklaracja to prototyp, który określa nazwę funkcji i podpis typu, takie jak typy danych, typy zwracane i parametry, ale pomija treść funkcji. Definicja określa nazwę funkcji i sygnatury typów, takie jak typy danych, typy zwracane i parametry oraz zawiera treść funkcji. Deklaracja informuje kompilator o nazwie funkcji i sposobie jej wywołania. Z drugiej strony definicja zawiera rzeczywistą implementację funkcji. Opisuje zadanie funkcji.
Podsumowanie – Deklaracja a definicja w C
Różnica między deklaracją a definicją w C polega na tym, że deklaracja w C informuje kompilator o nazwie funkcji, typie zwracanym i parametrach, podczas gdy definicja w C zawiera rzeczywistą implementację funkcji.