tutaj zobaczymy jaki jest cel używania prototypów funkcji w C lub c++. Prototypy funkcji służą do informowania kompilatora o liczbie argumentów i wymaganych typach danych parametru funkcji, a także o zwracanym typie funkcji. Na podstawie tych informacji kompilator sprawdza sygnatury funkcji przed jej wywołaniem. Jeśli prototypy funkcji nie są wymienione, to program może być skompilowany z pewnymi ostrzeżeniami, a czasami generować jakieś dziwne wyjście.
Jeżeli jakaś funkcja jest gdzieś wywołana, ale jej ciało nie jest jeszcze zdefiniowane, to jest zdefiniowane po bieżącej linii, wtedy może ona generować problemy. Kompilator nie znajduje Co to jest funkcja i jaka jest jej sygnatura. W takim razie musimy działać prototypy. Jeśli funkcja jest zdefiniowana wcześniej, nie potrzebujemy prototypów.
przykładowy kod
#include<stdio.h>main() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
wyjście
The value of x is: 50
To pokazuje wyjście, ale pokazuje pewne ostrzeżenie, jak poniżej:
conflicting types for 'function' previous implicit declaration of 'function' was here
Now using function prototypes, it is executing without any problem.
Example Code
#include<stdio.h>void function(int); //prototypemain() { function(50);}void function(int x) { printf("The value of x is: %d", x);}
Output
The value of x is: 50