C Lietotāja definētas funkcijas

Šajā apmācībā jūs iemācīsities izveidot lietotāja definētas funkcijas C programmēšanā ar piemēra palīdzību.

Funkcija ir koda bloks, kas veic noteiktu uzdevumu.

C ļauj definēt funkcijas atbilstoši jūsu vajadzībām. Šīs funkcijas ir pazīstamas kā lietotāja definētas funkcijas. Piemēram:

Pieņemsim, ka jums ir jāizveido aplis un jānokrāso tas atkarībā no rādiusa un krāsas. Šīs problēmas risināšanai varat izveidot divas funkcijas:

  • createCircle() funkciju
  • color() funkciju

Piemērs: lietotāja definēta funkcija

Šeit ir piemērs divu veselu skaitļu pievienošanai. Lai veiktu šo uzdevumu, mēs esam izveidojuši lietotāja definētu 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 ) 

Funkcijas prototips

Funkcijas prototips ir vienkārši funkcijas deklarācija, kurā norādīts funkcijas nosaukums, parametri un atgriešanās veids. Tas nesatur funkcijas ķermeni.

Funkcijas prototips sniedz kompilatoram informāciju, ka šo funkciju vēlāk var izmantot programmā.

Funkcijas prototipa sintakse

 returnType functionName (type1 arguments1, type2 arguments2,…);

Iepriekš minētajā piemērā int addNumbers(int a, int b);ir funkcijas prototips, kas kompilatoram sniedz šādu informāciju:

  1. funkcijas nosaukums ir addNumbers()
  2. funkcijas atgriešanas veids ir int
  3. intfunkcijai tiek nodoti divi tipa argumenti

Funkcijas prototips nav nepieciešams, ja lietotāja definētā funkcija ir definēta pirms main()funkcijas.

Funkcijas izsaukšana

Programmas vadība tiek pārsūtīta uz lietotāja definētu funkciju, to izsaucot.

Funkcijas izsaukuma sintakse

 functionName (arguments1, arguments2,…);

Iepriekš minētajā piemērā funkcijas izsaukums tiek veikts, izmantojot funkciju addNumbers(n1, n2);iekšējo paziņojumu main().

Funkcijas definīcija

Funkcijas definīcija satur koda bloku, lai veiktu noteiktu uzdevumu. Mūsu piemērā divu skaitļu pievienošana un atgriešana.

Funkcijas definīcijas sintakse

 returnType functionName (type1 arguments1, type2 arguments2,…) (// funkcijas pamatteksts) 

Izsaucot funkciju, programmas vadība tiek pārsūtīta uz funkcijas definīciju. Kompilators sāk izpildīt kodus funkcijas pamattekstā.

Argumentu nodošana funkcijai

Programmējot arguments attiecas uz mainīgo, kas nodots funkcijai. Iepriekš minētajā piemērā funkciju izsaukuma laikā tiek nodoti divi mainīgie n1 un n2.

Parametri a un b pieņem nodotos argumentus funkcijas definīcijā. Šos argumentus sauc par funkcijas formālajiem parametriem.

Funkcijai nodoto argumentu tipam un formālajiem parametriem ir jāatbilst, pretējā gadījumā sastādītājs radīs kļūdu.

Ja n1 ir char tipa, a jābūt arī char tipa. Ja n2 ir pludiņa tipa, mainīgajam b jābūt arī pludiņa tipam.

Funkciju var izsaukt arī bez argumenta nodošanas.

Atgriešanās paziņojums

Atgriešanās paziņojums pārtrauc funkcijas izpildi un atgriež vērtību izsaukšanas funkcijai. Programmas vadība pēc atgriešanās paziņojuma tiek pārsūtīta uz izsaukšanas funkciju.

Iepriekš minētajā piemērā rezultāta mainīgā vērtība tiek atgriezta galvenajā funkcijā. Funkcijas summas mainīgajam main()tiek piešķirta šī vērtība.

Atgriešanās paziņojuma sintakse

 atgriešanās (izteiksme); 

Piemēram,

atgriezt a; atgriešanās (a + b);

Vērtības tipam, kas atgriezts no funkcijas, un atgriešanas tipam, kas norādīts funkcijas prototipā un funkcijas definīcijā, jāatbilst.

Apmeklējiet šo lapu, lai uzzinātu vairāk par argumentu nodošanu un vērtības atgūšanu no funkcijas.

Interesanti raksti...