C Korisnički definirane funkcije

U ovom uputstvu naučit ćete stvarati korisnički definirane funkcije u programiranju na C uz pomoć primjera.

Funkcija je blok koda koji izvršava određeni zadatak.

C omogućuje definiranje funkcija prema vašim potrebama. Te su funkcije poznate kao korisnički definirane funkcije. Na primjer:

Pretpostavimo da trebate stvoriti krug i obojiti ga ovisno o radijusu i boji. Da biste riješili ovaj problem, možete stvoriti dvije funkcije:

  • createCircle() funkcija
  • color() funkcija

Primjer: Korisnički definirana funkcija

Evo primjera za dodavanje dviju cijelih brojeva. Da bismo izvršili ovaj zadatak, stvorili smo korisnički definirano addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Prototip funkcije

Prototip funkcije je jednostavno deklaracija funkcije koja specificira ime, parametre i tip povrata funkcije. Ne sadrži funkcionalno tijelo.

Prototip funkcije daje kompajleru informacije da će se funkcija kasnije moći koristiti u programu.

Sintaksa prototipa funkcije

 returnType functionName (type1 argument1, type2 argument2,…);

U gornjem primjeru int addNumbers(int a, int b);je prototip funkcije koji kompajleru daje sljedeće informacije:

  1. naziv funkcije je addNumbers()
  2. povratni tip funkcije je int
  3. dva se argumenta tipa intprosljeđuju funkciji

Prototip funkcije nije potreban ako je prije main()funkcije definirana korisnički definirana funkcija.

Pozivanje funkcije

Upravljanje programom prenosi se na korisnički definiranu funkciju pozivanjem.

Sintaksa poziva funkcije

 functionName (argument1, argument2,…);

U gornjem primjeru, poziv funkcije vrši se pomoću addNumbers(n1, n2);izraza unutar main()funkcije.

Definicija funkcije

Definicija funkcije sadrži blok koda za izvođenje određenog zadatka. U našem primjeru dodavanje dva broja i vraćanje.

Sintaksa definicije funkcije

 returnType functionName (type1 argument1, type2 argument2,…) (// tijelo funkcije) 

Kada se pozove funkcija, upravljanje programom prenosi se na definiciju funkcije. Prevodnik započinje s izvršavanjem kodova unutar tijela funkcije.

Prosljeđivanje argumenata funkciji

U programiranju, argument se odnosi na varijablu proslijeđenu funkciji. U gornjem primjeru, dvije varijable n1 i n2 prosljeđuju se tijekom poziva funkcije.

Parametri a i b prihvaćaju proslijeđene argumente u definiciji funkcije. Ti se argumenti nazivaju formalnim parametrima funkcije.

Vrsta argumenata proslijeđenih funkciji i formalni parametri moraju se podudarati, u suprotnom će kompajler izbaciti pogrešku.

Ako je n1 tipa char, a također treba biti tipa char. Ako je n2 float tipa, varijabla b također treba biti float tipa.

Funkcija se također može pozvati bez prosljeđivanja argumenta.

Izjava o povratku

Izraz return završava izvršavanje funkcije i vraća vrijednost pozivajućoj funkciji. Upravljanje programom prenosi se na funkciju pozivanja nakon naredbe return.

U gornjem primjeru vrijednost varijable rezultata vraća se glavnoj funkciji. Varijabli zbroja u main()funkciji dodjeljuje se ova vrijednost.

Sintaksa povratne izjave

 povratak (izraz); 

Na primjer,

return a; povratak (a + b);

Tip vrijednosti vraćen iz funkcije i vrsta povrata navedena u prototipu i definiciji funkcije moraju se podudarati.

Posjetite ovu stranicu da biste saznali više o prosljeđivanju argumenata i vraćanju vrijednosti iz funkcije.

Zanimljivi članci...