logo

C Funkcijos

A funkcija C yra teiginių rinkinys, kuris iškviečiamas atlieka tam tikrą konkrečią užduotį. Tai yra pagrindinė C programos sudedamoji dalis, užtikrinanti moduliškumą ir kodo pakartotinį naudojimą. Funkcijos programavimo teiginiai yra viduje { } petnešos , turintys tam tikras reikšmes ir atliekantys tam tikras operacijas. Kitomis kalbomis jie dar vadinami paprogramėmis arba procedūromis.

Šiame straipsnyje mes sužinosime apie funkcijas, funkcijų apibrėžimą. deklaraciją, argumentus ir parametrus, grąžinimo reikšmes ir daug daugiau.



Funkcijų sintaksė C

Funkcijos sintaksę galima suskirstyti į 3 aspektus:

    Funkcijos deklaracija Funkcijos apibrėžimas Funkcijų iškvietimai

Funkcijų deklaracijos

Funkcijos deklaracijoje turime pateikti funkcijos pavadinimą, grąžinimo tipą ir parametrų skaičių bei tipą. Funkcijos deklaracija praneša kompiliatoriui, kad kažkur kitur programoje yra funkcija su nurodytu pavadinimu.

Sintaksė

return_type name_of_the_function  ( parameter_1 , parameter_2 );>

Parametrų pavadinimas nėra privalomas deklaruojant funkcijas. Taip pat galime deklaruoti funkciją nenaudodami duomenų kintamųjų pavadinimų.



Pavyzdys

int sum (int a , int b ); int sum (int , int);>
Funkcijos deklaracija

Funkcijos deklaracija

Pastaba: Funkcija C visada turi būti deklaruota visuotinai prieš ją iškviečiant.

Funkcijos apibrėžimas

Funkcijos apibrėžimas susideda iš tikrųjų teiginių, kurie vykdomi, kai funkcija iškviečiama (t. y. kai programos valdymas ateina į funkciją).



C funkcija paprastai apibrėžiama ir deklaruojama vienu žingsniu, nes funkcijos apibrėžimas visada prasideda funkcijos deklaracija, todėl mums nereikia jos aiškiai deklaruoti. Žemiau pateiktas pavyzdys naudojamas ir kaip funkcijos apibrėžimas, ir kaip deklaracija.

return_type function_name (para1_type  para1_name,  para2_type  para2_name ) { // body of the function }>
Funkcijos apibrėžimas C

Funkcijos apibrėžimas C

Funkcijos skambutis

Funkcijos iškvietimas yra sakinys, kuris nurodo kompiliatoriui vykdyti funkciją. Funkcijos iškvietime naudojame funkcijos pavadinimą ir parametrus.

Žemiau pateiktame pavyzdyje iškviečiama pirmoji sumos funkcija, o 10,30 perduodama sumos funkcijai. Po funkcijos iškvietimo grąžinama a ir b suma, o valdymas taip pat grąžinamas į pagrindinę programos funkciją.

Funkcijų veikimas C

Funkcijų veikimas C

Pastaba: Funkcijos iškvietimas yra būtinas, kad programos valdiklis būtų apibrėžiamas. Jei nebus iškviestas, funkcijų sakiniai nebus vykdomi.

C funkcijos pavyzdys

C




// C program to show function> // call and definition> #include> // Function that takes two parameters> // a and b as inputs and returns> // their sum> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >// Calling sum function and> >// storing its value in add variable> >int> add = sum(10, 30);> > >printf>(>'Sum is: %d'>, add);> >return> 0;> }>

>

paštininkas
>

Išvestis

Sum is: 40>

Kaip pastebėjome, nenaudojome aiškios funkcijos deklaracijos. Mes tiesiog apibrėžėme ir iškvietėme funkciją.

Funkcijos grąžinimo tipas

Funkcijos grąžinimo tipas nurodo, kokio tipo vertė grąžinama įvykdžius visas funkcijas. Kai nenorime grąžinti reikšmės, galime naudoti negaliojantį duomenų tipą.

Pavyzdys:

int func(parameter_1,parameter_2);>

Aukščiau pateikta funkcija pateiks sveikojo skaičiaus reikšmę po to, kai funkcijos viduje bus vykdomi teiginiai.

Pastaba: Iš C funkcijos galima grąžinti tik vieną reikšmę. Norėdami grąžinti kelias reikšmes, turime naudoti rodykles arba struktūras.

Funkcijų argumentai

Funkcijos argumentai (taip pat žinomi kaip funkcijos parametrai) yra duomenys, perduodami funkcijai.

Pavyzdys:

int function_name(int var1, int var2);>

Grąžinimo sąlygos ir argumentai

C programavimo kalboje funkcijos gali būti iškviečiamos su argumentais arba be jų ir gali grąžinti reikšmes. Jie gali arba negali grąžinti reikšmių skambinimo funkcijoms.

  1. Funkcija be argumentų ir grąžinamos vertės
  2. Funkcija be argumentų ir su grąžinama verte
  3. Funkcija su argumentu ir be grąžinimo reikšmės
  4. Funkcija su argumentais ir grąžinama reikšme

Norėdami sužinoti daugiau apie funkcijų argumentus ir grąžinimo reikšmes, žr. straipsnį „Funkcijų argumentai ir grąžinimo reikšmės C.

Kaip veikia C funkcija?

C funkcijos veikimą galima suskirstyti į šiuos veiksmus, kaip nurodyta toliau:

    Funkcijos deklaravimas: Funkcijos deklaravimas yra veiksmas, kai deklaruojame funkciją. Čia apibrėžiame funkcijos grąžinimo tipus ir parametrus.
  1. Funkcijos apibrėžimas:
  2. Funkcijos iškvietimas: funkcijos iškvietimas yra veiksmas, kai funkciją iškviečiame perduodant funkcijos argumentus. Funkcijos vykdymas: Funkcijos vykdymas yra žingsnis, kai galime paleisti visus funkcijos viduje esančius teiginius, kad gautume galutinį rezultatą. Reikšmės grąžinimas: reikšmės grąžinimas yra veiksmas, kai grąžinama po funkcijos vykdymo apskaičiuota reikšmė. Funkcijos išjungimas yra paskutinis veiksmas, kai sunaikinama visa kintamiesiems, funkcijoms ir tt skirta atmintis prieš suteikiant visišką pagrindinės funkcijos valdymą.

Funkcijų tipai

C yra dviejų tipų funkcijos:

    Bibliotekos funkcijos Vartotojo nustatytos funkcijos
Funkcijų tipai

Funkcijų tipai C

1. Bibliotekos funkcija

Bibliotekos funkcija taip pat vadinama a įmontuota funkcija . Jau yra kompiliatoriaus paketas, kuriame yra šios funkcijos, kurių kiekviena turi tam tikrą reikšmę ir yra įtraukta į paketą. Integruotų funkcijų pranašumas yra tas, kad jas galima naudoti tiesiogiai neapibrėžiant, o vartotojo apibrėžtos funkcijos turi būti deklaruotos ir apibrėžtos prieš jas naudojant.

Pavyzdžiui:

pow(), sqrt(), strcmp(), strcpy() etc.>

C bibliotekos funkcijų privalumai

  • C bibliotekos funkcijomis lengva naudotis ir jos optimizuotos siekiant geresnio veikimo.
  • C bibliotekos funkcijos sutaupo daug laiko, ty funkcijų kūrimo laiko.
  • C bibliotekos funkcijos yra patogios, nes jos visada veikia.

Pavyzdys:

C




// C program to implement> // the above approach> #include> #include> // Driver code> int> main()> {> >double> Number;> >Number = 49;> >// Computing the square root with> >// the help of predefined C> >// library function> >double> squareRoot =>sqrt>(Number);> > >printf>(>'The Square root of %.2lf = %.2lf'>,> >Number, squareRoot);> >return> 0;> }>

>

>

smiginio sąrašas
Išvestis

The Square root of 49.00 = 7.00>

2. Vartotojo nustatyta funkcija

Funkcijos, kurias sukuria programuotojas, yra žinomos kaip vartotojo nustatytos funkcijos arba pritaikytos funkcijos . Vartotojo apibrėžtas funkcijas galima tobulinti ir modifikuoti pagal programuotojo poreikį. Kai rašome funkciją, kuri yra specifinė atvejo ir nėra apibrėžta jokiame antraštės faile, turime deklaruoti ir apibrėžti savo funkcijas pagal sintaksę.

Vartotojo nustatytų funkcijų privalumai

  • Keičiamas funkcijas galima keisti pagal poreikį.
  • Šių funkcijų kodą galima pakartotinai naudoti kitose programose.
  • Šias funkcijas lengva suprasti, derinti ir prižiūrėti.

Pavyzdys:

C




// C program to show> // user-defined functions> #include> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >int> a = 30, b = 40;> > >// function call> >int> res = sum(a, b);> >printf>(>'Sum is: %d'>, res);> >return> 0;> }>

>

>

Išvestis

Sum is: 70>

Parametrų perdavimas funkcijoms

Duomenys, perduoti, kai funkcija iškviečiama, yra žinomi kaip faktiniai parametrai. Toliau pateiktoje programoje 10 ir 30 yra žinomi kaip faktiniai parametrai. Formalūs parametrai yra kintamasis ir duomenų tipas, kaip nurodyta funkcijos deklaracijoje. Toliau pateiktoje programoje a ir b yra žinomi kaip formalūs parametrai.

Parametrų perdavimas funkcijoms

Parametrų perdavimas funkcijoms

Argumentus funkcijai C galime perduoti dviem būdais:

  1. Pravažiuokite vertę
  2. Praeiti pro nuorodą

1. Praleiskite vertę

Parametrų perdavimas šiuo metodu nukopijuoja reikšmes iš faktinių parametrų į formalius funkcijos parametrus. Dėl to bet kokie funkcijų viduje atlikti pakeitimai neatsispindi skambinančiojo parametruose.

Pavyzdys:

C




// C program to show use> // of call by value> #include> void> swap(>int> var1,>int> var2)> {> >int> temp = var1;> >var1 = var2;> >var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d '>,> >var1, var2);> >swap(var1, var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }>

>

>

duomenų struktūra
Išvestis

Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 3, 2>

2. Praeiti pagal nuorodą

Tikrieji skambinančiojo parametrai ir faktiniai funkcijos parametrai yra susiję su tomis pačiomis vietomis, todėl bet kokie funkcijos viduje atlikti pakeitimai atsispindi faktiniuose skambinančiojo parametruose.

Pavyzdys:

C




// C program to show use of> // call by Reference> #include> void> swap(>int> *var1,>int> *var2)> {> >int> temp = *var1;> >*var1 = *var2;> >*var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d '>,> >var1, var2);> >swap(&var1, &var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }>

>

>

Išvestis

Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 2, 3>

Funkcijų privalumai C

Funkcijos C yra labai naudinga C funkcija, turinti daug privalumų, kaip nurodyta toliau:

  1. Funkcija gali sumažinti tų pačių teiginių pasikartojimą programoje.
  2. Funkcija leidžia nuskaityti kodą, suteikdama mūsų programos moduliškumą.
  3. Nėra fiksuoto skambinimo funkcijų skaičiaus, juo galima skambinti tiek kartų, kiek norite.
  4. Funkcija sumažina programos dydį.
  5. Kai funkcija yra paskelbta, galite ją naudoti negalvodami apie vidinį funkcijos veikimą.

Funkcijų trūkumai C

Toliau pateikiami pagrindiniai C funkcijų trūkumai:

  1. Negalima grąžinti kelių reikšmių.
  2. Atminties ir laiko sąnaudos dėl kamino kadrų paskirstymo ir programos valdymo perdavimo.

Išvada

Šiame straipsnyje aptarėme toliau nurodytus dalykus apie funkciją:

python sumažinti
  1. Funkcija yra kodo blokas, kurį programoje galima pakartotinai naudoti tiek kartų, kiek norime.
  2. Norėdami naudoti funkciją, turime iškviesti funkciją.
  3. Funkcijos deklaracija apima funkcijos_pavadinimą, grąžinimo tipą ir parametrus.
  4. Funkcijos apibrėžimas apima funkcijos turinį.
  5. Funkcija yra dviejų tipų vartotojo apibrėžta funkcija ir bibliotekos funkcija.
  6. Funkcijoje galime pagal du tipus iškviesti pagal vertę ir iškviesti pagal nuorodą pagal perduotas reikšmes.

DUK apie funkcijas C

Q1. Apibrėžkite funkcijas.

Atsakymas:

Funkcijos yra kodo blokas, kuris vykdomas kiekvieną kartą, kai jos iškviečiamos vykdant programą.

Q2. Kas yra išankstinė deklaracija?

Atsakymas:

Kartais mes apibrėžiame funkciją po jos iškvietimo, kad būtų geriau suprantama. Tokiais atvejais funkciją deklaruojame prieš jų apibrėžimą ir iškvietimą. Tokia deklaracija vadinama išankstine deklaracija.

Q3. Kuo skiriasi funkcijos deklaravimas ir apibrėžimas?

Atsakymas:

Duomenys, tokie kaip funkcijos pavadinimas, grąžinimo tipas ir parametras, yra įtraukti į funkcijos deklaraciją, o apibrėžimas yra funkcijos turinys. Visi šie duomenys yra bendrinami su kompiliatoriumi pagal atitinkamus veiksmus.

4 klausimas. Kuo skiriasi funkcijos argumentai ir parametrai?

Atsakymas:

Funkcijos parametrai yra reikšmės, deklaruojamos funkcijos deklaracijoje. Tuo tarpu funkcijos argumentai yra reikšmės, kurios perduodamos funkcijoje funkcijos iškvietimo metu.

Pavyzdys:

 int func(int x,int y); func(10,20);>

Čia int x ir int y yra parametrai, o 10 ir 20 yra funkcijai perduoti argumentai.

Norėdami sužinoti daugiau apie tai, skaitykite šį straipsnį – Skirtumas tarp argumentų ir parametrų C.

Q5. Ar galime grąžinti kelias reikšmes iš C funkcijos?

Atsakymas:

Ne, paprastai neįmanoma grąžinti kelių funkcijos reikšmių. Bet mes galime naudoti rodyklės į statines arba krūvos atminties vietas, kad grąžintume kelias reikšmes, arba galime įdėti duomenis į struktūra ir tada grąžinkite struktūrą.

Norėdami sužinoti daugiau apie tai, skaitykite šį straipsnį – Kaip grąžinti kelias reikšmes iš funkcijos C arba C++?

6 klausimas. Koks yra tikrasis ir formalus parametras?

Atsakymas:

Formalus parametras: Funkcijos prototipe deklaruojami kintamieji yra žinomi kaip formalieji argumentai arba parametrai.

Faktinis parametras: Funkcijose perduodamos reikšmės yra žinomos kaip faktiniai argumentai arba parametrai.