Kluczowa różnica – prototyp funkcji a definicja funkcji w C
Funkcja to grupa instrukcji używanych do wykonania określonego zadania. W programowaniu w C wykonanie rozpoczyna się od głównego (). To jest funkcja. Zamiast pisać wszystkie instrukcje w tym samym programie, można go podzielić na wiele funkcji. Każda funkcja będzie realizowała inne funkcjonalności. Prototyp funkcji informuje kompilator o nazwie funkcji, typach zwracanych i parametrach. Jest również znany jako deklaracja funkcji. Każda funkcja ma określoną nazwę, która ją identyfikuje. Instrukcje funkcyjne są napisane w nawiasach klamrowych. Funkcje mogą zwracać wartość. Istnieje kilka funkcji, które nie zwracają wartości. Dane są przekazywane do funkcji za pomocą listy parametrów. Definicja funkcji zawiera rzeczywistą funkcjonalność wykonywaną przez funkcję. W programowaniu w C istnieje prototyp funkcji i definicja funkcji. Kluczową różnicą między prototypem funkcji a definicją funkcji jest to, że prototyp funkcji zawiera tylko deklarację funkcji, podczas gdy definicja funkcji zawiera rzeczywistą implementację funkcji. Definicja funkcji zawiera zmienne lokalne i instrukcje, które określają, co robi funkcja.
Co to jest prototyp funkcji w C?
Function Prototype udostępnia deklarację funkcji. Określa nazwę funkcji, typy zwracane, parametry. Typy zwracane to typ danych zwracany z funkcji. Gdy funkcja zwraca liczbę całkowitą, typem zwracanym jest int. Gdy funkcja zwraca wartość zmiennoprzecinkową, typem zwracanym jest zmiennoprzecinkowa. Jeśli funkcja nie zwraca żadnej wartości, jest to funkcja void. Nazwa funkcji służy do jej identyfikacji. Słowa kluczowe C nie mogą być używane jako nazwy funkcji. Dane są przekazywane do funkcji za pomocą parametrów. Prototyp funkcji nie zawiera rzeczywistej implementacji funkcji. Prototyp funkcji ma następującą składnię.
(lista parametrów);
Jeśli istnieje funkcja obliczająca maksymalnie dwie liczby, deklarację można zapisać jako int max (int num1, int num2); Maksymalna wartość powinna znajdować się w num1 i num2. Są to liczby całkowite i są przekazywane do funkcji. Typ zwracany na początku to również int. Tak więc funkcja zwraca wartość całkowitą. W prototypie funkcji nie trzeba pisać nazw parametrów. Ale konieczne jest napisanie typów danych. Dlatego int max (int, int); jest również prawidłowym prototypem funkcji. Jeśli są dwie liczby całkowite jako num1, num2, num3, a prototyp jest zapisany jako int max(int num1, int num2, num3); jest nieważny.num1, num2 mają typy danych, ale num3 nie ma typu danych. Dlatego jest nieważny.
Odnieś się do poniższego programu.
dołącz
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int odpowiedź;
odpowiedź=calMax(p, q);
printf(„Maksymalna wartość to %d\n”, odpowiedź);
powrót 0;
}
int calMax(int p, int q){
wartość int;
if(p>q) {
wartość=p;
}
inne {
wartość=q;
}
wartość zwracana;
}
Zgodnie z powyższym, druga instrukcja pokazuje prototyp funkcji. Nie ma realizacji. Faktyczna realizacja następuje po programie głównym. Prototypy funkcji są bardziej przydatne podczas definiowania funkcji w jednym pliku źródłowym i wywoływania tej funkcji w innej w innym pliku.
Co to jest definicja funkcji w C?
Definicja funkcji zawiera rzeczywistą implementację funkcji. Zawiera, co funkcja powinna zrobić. Gdy program wywołuje funkcję, kontrola jest przekazywana do wywoływanej funkcji. Po wykonaniu funkcji sterowanie powraca do funkcji głównej. Wymagane dane są przekazywane do funkcji jako lista parametrów. Jeśli istnieje zwracana wartość, wymieniany jest typ zwracany. Jeśli nie ma zwracanych wartości, zwracany typ jest nieważny. Zapoznaj się z poniższą funkcją, aby obliczyć powierzchnię trójkąta.
dołącz
float calArea(int x, int y);
int główna () {
int p=10;
int q=20;
powierzchnia płaska;
obszar=calObszar(p, q);
printf („Maksymalna wartość to %f\n”, obszar);
powrót 0;
}
float calArea (int x, int y) {
wartość zmiennoprzecinkowa;
wartość=0,5xy;
wartość zwracana;
}
Według powyższego programu, druga instrukcja wskazuje prototyp funkcji. Rzeczywista implementacja tego, co wykonuje funkcja, jest zapisywana po głównym programie. To jest definicja funkcji. Wartości p i q są przekazywane do funkcji calArea. Wartość zmiennej jest zmienną lokalną funkcji calArea. Powierzchnia jest obliczana i przypisywana do wartości zmiennej. Następnie wraca z powrotem do programu głównego.
Jakie są podobieństwa między prototypem funkcji a definicją funkcji w C?
- Zarówno prototyp funkcji, jak i definicja funkcji są powiązane z funkcjami.
- Zarówno prototyp funkcji, jak i definicja funkcji zawierają nazwę funkcji.
- Zarówno prototyp funkcji, jak i definicja funkcji zawierają typy zwracane.
- Zarówno prototyp funkcji, jak i definicja funkcji zawierają parametry.
Jaka jest różnica między prototypem funkcji a definicją funkcji w C?
Prototyp funkcji a definicja funkcji w C |
|
Prototyp funkcji określa nazwę funkcji, typ zwracany, parametry, ale pomija treść funkcji. | Definicja funkcji określa nazwę funkcji, typ zwracany; parametry zawierają treść funkcji. |
Wdrożenie | |
Prototyp funkcji nie ma implementacji funkcji. | Definicja funkcji ma implementację funkcji. |
Podsumowanie – prototyp funkcji a definicja funkcji w C
Korzystanie z funkcji w programach ma swoje zalety. Funkcje zwiększają możliwość ponownego wykorzystania kodu. Nie ma potrzeby ciągłego pisania tego samego kodu. Zamiast tego programista może podzielić program i wywołać niezbędną funkcję. W C są funkcje biblioteczne. Funkcje te są zadeklarowane w plikach nagłówkowych C. Niektóre z nich to printf(), scanf() itd. Programista może również pisać własne funkcje. Istnieją dwa terminy związane z funkcjami w języku C. Funkcjonują one jako prototyp i definicja funkcji. Różnica między prototypem funkcji a definicją funkcji w C polega na tym, że prototyp funkcji zawiera tylko deklarację funkcji, podczas gdy definicja funkcji zawiera rzeczywistą implementację funkcji.
Pobierz plik PDF z prototypem funkcji a definicją funkcji w C
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj: Różnica między prototypem funkcji a definicją funkcji w C