C Vartotojo nustatytos funkcijos

Šioje pamokoje išmoksite sukurti vartotojo apibrėžtas funkcijas programuodami C, naudodamiesi pavyzdžiu.

Funkcija yra kodo blokas, kuris atlieka konkrečią užduotį.

C leidžia apibrėžti funkcijas pagal jūsų poreikius. Šios funkcijos yra žinomos kaip vartotojo nustatytos funkcijos. Pavyzdžiui:

Tarkime, jums reikia sukurti apskritimą ir nuspalvinti jį, atsižvelgiant į spindulį ir spalvą. Norėdami išspręsti šią problemą, galite sukurti dvi funkcijas:

  • createCircle() funkcija
  • color() funkcija

Pavyzdys: vartotojo apibrėžta funkcija

Čia yra dviejų sveikųjų skaičių pridėjimo pavyzdys. Norėdami atlikti šią užduotį, mes sukūrėme vartotojo apibrėžtą 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 ) 

Funkcijos prototipas

Funkcijos prototipas yra tiesiog funkcijos deklaravimas, kuriame nurodomas funkcijos pavadinimas, parametrai ir grąžinimo tipas. Jame nėra funkcijos kūno.

Funkcijos prototipas pateikia kompiliatoriui informaciją, kad vėliau funkcija gali būti naudojama programoje.

Funkcijos prototipo sintaksė

 returnType functionName (type1 argumentas1, type2 argumentas2,…);

Ankstesniame pavyzdyje int addNumbers(int a, int b);yra funkcijos prototipas, kuris pateikia šią informaciją kompiliatoriui:

  1. funkcijos pavadinimas yra addNumbers()
  2. funkcijos grąžinimo tipas yra int
  3. intfunkcijai perduodami du tipo argumentai

Funkcijos prototipas nereikalingas, jei vartotojo apibrėžta funkcija yra apibrėžta prieš main()funkciją.

Funkcijos iškvietimas

Programos valdymas perkeliamas į vartotojo nustatytą funkciją ją iškviečiant.

Funkcijos iškvietimo sintaksė

 functionName (argumentas1, argumentas2,…);

Ankstesniame pavyzdyje funkcijos iškvietimas atliekamas naudojant funkcijos addNumbers(n1, n2);viduje pateiktą sakinį main().

Funkcijos apibrėžimas

Funkcijos apibrėžime yra kodo blokas, skirtas konkrečiai užduočiai atlikti. Mūsų pavyzdyje pridedami du skaičiai ir grąžinama.

Funkcijos apibrėžimo sintaksė

 returnType functionName (type1 argumentas1, type2 argumentas2,…) (// funkcijos turinys) 

Kai iškviečiama funkcija, programos valdymas perkeliamas į funkcijos apibrėžimą. Kompiliatorius pradeda vykdyti kodus funkcijos korpuse.

Argumentų perdavimas funkcijai

Programuojant argumentas reiškia kintamąjį, perduotą funkcijai. Pirmiau pateiktame pavyzdyje funkcijos kvietimo metu perduodami du kintamieji n1 ir n2.

Parametrai a ir b priima perduotus argumentus funkcijos apibrėžime. Šie argumentai vadinami formaliais funkcijos parametrais.

Funkcijai perduotų argumentų tipas ir formalūs parametrai turi sutapti, kitaip kompiliatorius sukels klaidą.

Jei n1 yra char tipo, taip pat turėtų būti char tipo. Jei n2 yra plūdinio tipo, kintamasis b taip pat turėtų būti plūduriuojantis.

Funkciją taip pat galima iškviesti nepateikus argumento.

Grąžinimo pareiškimas

Grąžinimo sakinys nutraukia funkcijos vykdymą ir grąžina reikšmę skambinančiajai funkcijai. Programos valdymas perkeliamas į skambinimo funkciją po grąžinimo sakinio.

Ankstesniame pavyzdyje rezultato kintamojo reikšmė grąžinama į pagrindinę funkciją. main()Funkcijos sumos kintamajam priskiriama ši reikšmė.

Grąžinimo teiginio sintaksė

 grįžimas (išraiška); 

Pavyzdžiui,

grąžinti a; grįžimas (a + b);

Vertės, grąžintos iš funkcijos, tipas ir grąžinimo tipas, nurodytas funkcijos prototipe ir funkcijos apibrėžime, turi sutapti.

Apsilankykite šiame puslapyje, jei norite sužinoti daugiau apie argumentų perdavimą ir funkcijos grąžinimo vertę.

Įdomios straipsniai...