Viskas, ką reikia žinoti apie C funkcijas?



Šis straipsnis supažindins jus su paprasta, tačiau labai svarbia ir svarbia sąvoka „Funkcijos C“ ir tęsite ją demonstruodami.

Šis straipsnis supažindins jus su paprastu, tačiau labai svarbiu ir svarbiu dalyku sąvoka, kuri yra Funkcijos C, ir sekite ją demonstruodami. Tolimesni patarimai bus aptarti šiame straipsnyje,

Funkcijos yra bet kurios programavimo kalbos pagrindas. Paprastais žodžiais tariant, funkcija sakinių rinkinyje, kuris ima įvestis, atlieka tam tikrą užduotį ir tada grąžina išvestį.
Funkcijos kūrimo ideologija yra susieti susijusių teiginių rinkinį, kuris atlieka tam tikrą užduotį. Kad nereikėtų kelis kartus rašyti to paties kodo skirtingiems įvesties rinkiniams. Tiesiog turite iškviesti funkciją skirtingiems įėjimams, ji atliks nurodytą užduotį nurodytam įėjimui ir grąžins išvestį. Funkciją galite iškviesti tiek kartų, kiek norite. Šiame tinklaraštyje sužinosime kiekvieną ir visus niuansus apie C programavimo kalbos funkcijas.





Pradėkime nuo pagrindinio klausimo.

Kas yra funkcijos C?

C funkcijos yra tokios pačios kaip ir bet kurios kitos programavimo kalbos. Tai kodų rinkinys, susietas konkrečiai užduočiai atlikti. Vykdytinas kodo rinkinys nurodomas garbanotaisiais petnešomis, t. Y. „{}“.



Prieš išmokdami rašyti funkciją C, pirmiausia supraskime, kokie yra pranašumai.

Funkcijų pranašumai C

Funkcijų pranašumai yra bendri visose programavimo kalbose.
Pagrindinė funkcijos idėja yra sumažinti kodo perteklių. Tarkime, kad turite funkciją, kurią programoje reikia atlikti kelis kartus, todėl užuot ją rašę kelis kartus, galite sukurti tos užduoties funkciją ir paskambinti jai tiek kartų, kiek norite. Kitas paslėptas pranašumas yra tas, kad jei po to pasikeis jūsų funkcijų logika, jums nereikės tęsti ir keisti jos keliose vietose. Jūs tiesiog turite pakeisti kodą vienoje vietoje (t. Y. Funkcijoje) ir jis atsispindės visoje programoje.

Moduliškumas vėlgi yra papildoma nauda. Parašius didelę kodo dalį, įskaitant kiekvieną ir viską, sumažėja kodo įskaitomumas ir sunku valdyti. Naudodamiesi funkcijomis, galite padalyti kodą į atskirų funkcijų skyrius, kuris yra paprasčiau suprantamas ir lengviau valdomas.



Funkcija taip pat suteikia abstrakciją, kur mes galime iškviesti funkciją ir gauti išvestį nežinodami vidinio įgyvendinimo.

kaip sukurti objektų masyvą

Toliau einant su C funkcijos tipais

Funkcijų tipai C

Yra dviejų tipų funkcijos:
Bibliotekos funkcijos
Vartotojo nustatytos funkcijos

Bibliotekos funkcijos yra tos funkcijos, kurios jau yra apibrėžtos C bibliotekoje, tokios kaip strcat (), printf (), scanf () ir kt. Norint naudoti šias funkcijas, tiesiog reikia įtraukti atitinkamus antraštės failus.
Vartotojo nustatytos funkcijos yra vartotojo apibrėžtos funkcijos. Šios funkcijos yra skirtos kodo pakartotiniam naudojimui ir laiko bei vietos taupymui.

Dabar, kai žinome funkcijos sukūrimo pranašumus, supraskime, kaip deklaruoti funkciją C.

Funkcijos deklaracija ir apibrėžimas

Funkcijos deklaracija:

Funkcijos deklaravimo sintaksė:

return_type funkcijos_pavadinimas (data_type arg1, data_type arg2) int add (int x, int y) // funkcijos deklaracija

Funkcijos deklaracijoje nurodome funkcijos pavadinimą, įvesties parametro skaičių, jų duomenų tipus ir funkcijos grąžinimo tipą. Funkcijos deklaracija nurodo kompiliatoriui apie argumentų, kurių tikisi funkcija, sąrašą su jų duomenų tipais ir funkcijos grąžinimo tipu.

Funkcijos deklaracijoje nurodyti parametro pavadinimus nebūtina, tačiau nurodyti jų duomenų tipus yra privaloma.

int pridėti (int, int) // funkcijos deklaracija

Pirmiau nurodytai funkcijai reikės dviejų sveikojo skaičiaus parametrų.

Funkcijos apibrėžimas

 Vaizdo funkcijos „C- Edureka“
int pridėti (int, int) // funkcijos deklaracija return_type funkcijos_pavadinimas (parametrai) {Funkcijos turinys}

Kaip parodyta aukščiau esančiame paveikslėlyje, funkcijos apibrėžimą sudaro dvi dalys, ty funkcijos antraštė ir funkcijos turinys

Funkcijos antraštė: funkcijos antraštė yra tokia pati kaip funkcijos deklaracija be kabliataškio. Funkcijos antraštėje yra funkcijos pavadinimas, parametras ir grąžinimo tipas.

  • Grąžinimo tipas: Grąžinimo tipas yra vertės, kurią grąžins funkcija, duomenų tipas. Funkcija gali grąžinti vertę arba ne. Jei taip, reikia nurodyti derinimo vertės duomenų tipą, kitaip grąžinimo tipas turi būti negaliojantis.

  • Funkcijos pavadinimas: Tai yra funkcijos, kuria mes galime iškviesti funkciją, kai ir kur reikia, pavadinimas.

  • Parametrai: Parametrai yra įvesties reikšmės, kurios bus perduotos funkcijai. Čia pasakojama apie argumentų duomenų tipus, jų eiliškumą ir argumentų, kurie bus perduoti funkcijai, skaičių. Parametrai yra neprivalomi. Taip pat galite turėti funkcijas be parametrų.

Funkcijos kūnas: Funkcijos kūnas yra sakinių rinkinys, kuris atlieka konkrečią užduotį. Jis apibrėžia, ką funkcija atlieka.

Pavyzdys:

int pridėti (int x, int y) {int suma = x + y grąža (suma)}

Rekomenduojama deklaruoti funkciją prieš ją apibrėžiant ir naudojant. C, mes galime deklaruoti ir apibrėžti funkciją toje pačioje vietoje.

Pavyzdys:

#include int add (int, int) // funkcijos deklaracija // funkcijos apibrėžimas int add (int x, int y) // funkcijos antraštė {// funkcijos kūnas int suma = x + y grąža (suma)} // Pagrindinė funkcija int main () {int suma = pridėti (23, 31) printf ('% d', suma) grąža 0}

Kaip matome aukščiau pateiktame pavyzdyje, funkciją iškviečiame naudodami int sum = add (23, 31) teiginį. Grąžinta funkcijos vertė yra saugoma sumos kintamajame.

Prieš einant į priekį, yra dar viena svarbi sąvoka, kurią reikia suprasti apie paramentą. Yra dviejų tipų parametrai:

Faktinis parametras : Tie parametrai, kurie perduodami funkcijoms jas iškviečiant, yra žinomi kaip faktiniai parametrai. Pavyzdžiui, 23 ir 31 aukščiau pateiktame pavyzdyje yra tikrieji parametrai.

Oficialus parametras : Tie parametrų, kuriuos gauna funkcijos, yra žinomi kaip oficialūs parametrai. Pavyzdžiui, aukščiau pateiktame pavyzdyje x & y yra formalūs parametrai.

Greitai judėkime į priekį ir supraskime skirtingus funkcijos iškvietimo būdus C.

Funkcijos iškvietimas

Funkciją galime iškviesti dviem būdais:

  • Skambinkite pagal vertę
  • Skambinkite pagal nuorodą

Skambinkite pagal vertę

Skambinant pagal vertės metodą, faktinio parametro reikšmė perduodama kaip argumentas funkcijai. Faktinio parametro vertės negalima pakeisti formaliais parametrais.

Taikant skambučio vertės metodą, skirtingas atminties adresas priskiriamas oficialiems ir faktiniams parametrams. Tiesiog faktinio parametro vertė nukopijuojama į oficialų parametrą.

Pavyzdys:

#include void Call_By_Value (int num1) {num1 = 42 printf ('nVeikiančioji funkcija, skaičius yra% d', num1)} int main () {int numeris num = 24 printf ('nPrieš funkciją, skaičius yra% d', skaičius ) Call_By_Value (num) printf ('nPo funkcijos, skaičius yra% dn', skaičius) grąžina 0}

Rezultatas

kokie yra „Java“ platformos komponentai?

Ankstesniame pavyzdyje prieš skambinant pagal reikšmę funkcija num reikšmė yra 24. Tada, kai mes iškviečiame funkciją ir perduosime vertę ir pakeisime ją funkcijos viduje, ji taps 42. Kai grįšime ir vėl atspausdinsime vertę iš pagrindinių funkcijų skaičiaus tampa 24.

Skambinkite pagal nuorodą

Skambinant pagal nuorodą, faktinio parametro atminties adresas perduodamas funkcijai kaip argumentas. Čia faktinio parametro vertę galima pakeisti formaliu parametru.

Faktiniam ir oficialiam parametrui naudojamas tas pats atminties adresas. Taigi, jei keičiama oficialaus parametro reikšmė, tai atspindi ir tikrasis parametras.

C kalboje mes naudojame rodykles skambučiui pagal nuorodą įgyvendinti. Kaip matote žemiau pateiktame pavyzdyje, funkcija Call_By_Reference tikisi rodiklio į sveikąjį skaičių.

Dabar šis kintamasis num1 išsaugos faktinio parametro atminties adresą. Taigi, norėdami atspausdinti vertę, kuri yra išsaugota numerio 1 pažymėtame atminties adrese, turime naudoti išimčių operatorių, t. Taigi * num1 reikšmė yra 42.

Adreso operatorius & naudojamas norint gauti bet kokio tipo duomenų kintamojo adresą. Taigi funkcijos skambučio sakinyje ‘Call_By_Reference (& num)’ perduodamas num adresas, kad numerį būtų galima modifikuoti naudojant jo adresą.

Pavyzdys

#include // funkcijos apibrėžimas negaliojantis Call_By_Reference (int * num1) {* num1 = 42 printf ('nIfunkcijos vidus, skaičius yra% d', * num1)} // Pagrindinės funkcijos int main () {int numeris num = 24 printf ( 'nPrieš funkciją skaičius yra% d', num) Call_By_Reference (& num) printf ('nPo Funkcijos skaičius yra% dn', num) grąžina 0}

Rezultatas

Šiame pavyzdyje num reikšmė iš pradžių yra 24, pagrindinės funkcijos viduje. Kai ji bus perduota funkcijai Call_By_Reference ir vertė bus modifikuota formaliu parametru, ji bus pakeista ir tikrojo parametro atžvilgiu. Štai kodėl, kai mes spausdiname num reikšmę po funkcijos, ji spausdina 42.

Pereinama su vartotojo nustatytų funkcijų tipais C

Vartotojo nustatytų tipų tipai Funkcija C

Pagal grąžinimo tipą ir pateiktus argumentus yra įvairių vartotojo apibrėžtų funkcijų.

Pereinama be jokių argumentų ir grąžos vertės

1. Nepateikti jokie argumentai ir nėra grąžinimo vertės

Sintaksė:

funkcijos deklaracija:

void function () funkcijos iškvietimas: function () funkcijos apibrėžimas: void function () {teiginiai}

Pavyzdys

periodinė „Devops“ įrankių lentelė
#include void add () void add () {int x = 20 int y = 30 int sum = x + y printf ('suma% d', suma)} int main () {add () return 0}

Pereinama be jokių argumentų, išskyrus grąžinimo vertę

2 Nepateikta jokių argumentų, išskyrus grąžinimo vertę

Sintaksė:

funkcijos deklaracija:

int funkcija () funkcijos iškvietimas: funkcija () funkcijos apibrėžimas: int funkcija () {sakiniai grąžina a}

Pavyzdys:

#include int add () int add () {int x = 20 int y = 30 int sum = x + y return (sum)} int main () {int sum sum = add () printf ('suma% d', suma) grąža 0}

Toliau su perduotais argumentais, bet grąžos vertės nėra

3 Argumentas perduotas, bet grąžos vertės nėra

Sintaksė:

funkcijos deklaracija:

void function (int) funkcijos iškvietimas: function (a) funkcijos apibrėžimas: void function (int a) {teiginiai}

Pavyzdys:

#include void add (int, int) void add (int x, int y) {int sum = x + y return (sum)} int main () {add (23, 31) return 0}

Toliau su perduotu argumentu ir grąžinimo verte

4 Pateiktas argumentas ir grąžinimo vertė

Sintaksė:

funkcijos deklaracija:

int funkcija (int) funkcijos iškvietimas: funkcija (a) funkcijos apibrėžimas: int funkcija (int a) {sakiniai grąžina a}

Pavyzdys

#include int add (int, int) int add (int x, int y) {int suma = x + y grąža (suma)} int main () {int suma = pridėti (23, 31) printf ('% d' , suma) grąža 0}

Dabar greitai pažvelkime į C bibliotekos funkcijas, kurios yra svarbios norint parašyti programą.

C bibliotekos funkcijos

Bibliotekos funkcijos yra C funkcijos, kurios yra iš anksto nustatytos ir yra numatytosios. Jūs tiesiog turite įtraukti konkretų antraštės failą į programą ir galite naudoti funkcijas, apibrėžtas tame antraštės faile. Kiekviename antraštės faile yra tam tikros rūšies funkcionalumas. Antraštės failo plėtinys yra .h.

Pavyzdžiui, norėdami naudoti „printf“ / „scanf“ funkcijas, į savo programą turime įtraukti „stdio.h“, kurios suteikia funkcionalumą standartinio įvesties / išvesties atžvilgiu.

Toliau pateikiamas antraštės failų sąrašas.

vienasstdio.hStandartinis įvesties / išvesties antraštės failas
2kalimas.hPulto įvesties / išvesties antraštės failas
3stygos.hSu eilutėmis susijusios bibliotekos funkcijos, pvz., Get (), Put () ir kt.
4stdlib.hBendrosios bibliotekos funkcijos, tokios kaip malloc (), calloc (), exit () ir kt.
5matematika.hSu matematinėmis operacijomis susijusios funkcijos, tokios kaip sqrt (), pow () ir kt.
6laikas.hSu laiku susijusios funkcijos
7ctype.hSimbolių tvarkymo funkcijos
8stdarg.hKintamųjų argumentų funkcijos
9signalas.hSignalo valdymo funkcijos
10setjmp.hŠuolio funkcijos
vienuolikalokalė.hLokalės funkcijos
12errno.hKlaidų tvarkymo funkcijos
13tvirtinti.hDiagnostikos funkcijos

Dabar, atlikę pirmiau nurodytas C funkcijas, būtumėte supratę kiekvieną funkcijos niuansą ir kaip tai įgyvendinti C kalba. Tikiuosi, kad šis tinklaraštis yra informatyvus ir suteikia jums pridėtinės vertės.

Taigi mes priėjome šio straipsnio „Funkcijos C“ pabaigą. Jei norite sužinoti daugiau, patikrinkite , patikima mokymosi internetu įmonė. „Edureka“ „Java J2EE“ ir SOA mokymo ir sertifikavimo kursai yra skirti mokyti jus tiek pagrindinėms, tiek pažangesnėms „Java“ koncepcijoms kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio komentarų skiltyje ir mes kuo greičiau susisieksime su jumis.