[Powered by Google Translate] CHRIS GERBER: funkcija žingsnių serija didesnis programa, kuri paprastai yra skirta būti vadinamas kelis kartus ir iš kelių kitose vietose programa. Kurdami C funkciją, vienas iš reikalavimų yra tas, kad nurodyti grąžinimo reikšmės tipą. Paprasčiausia yra situacija, kai skambinate kodas nėra susijusi su funkcija. Tai gali būti tuo atveju, kai mes spausdinti duomenis vartotojo ekrane, kaip ir printf. Šiuo atveju, mes galime paskelbti sugrįžimo vertę tipo tuštumos. Naudojant negaliojančiu tiesiog pasakoja kompiliatorių, kad ne vertė bus grąžintas. Pažiūrėkime, kaip tai atrodo. Tarkime, kad mes turime funkcija vadinama say_hello, kad priima vieną argumentą. Przekażemy asmens vardą, ir jis bus rodomas pasveikinimas ekrane. Pavadinimas bus tipo char *. Ir mes nurodyti, kad kaip argumentą. Mano prašymas nėra, reikia žinoti, kas buvo išspausdinta, arba jei jį buvo išspausdinta. Taigi grąžina vertė bus tipo tuštumos. Ši funkcija gali spausdinti į ekraną naudodami tokią komandą kaip printf ("Sveiki,% s \ n ", Name); Pasisveikinimas bus rodomas ir kontrolė bus perduota atgal, kad iš kurio skambinama, kodą. Vienas dalykas, reikia pažymėti, kad tokiu atveju, kai grąžinama vertė yra niekinė, jums nereikia įtraukti grąžą pareiškimą funkcijos. Jei jūs taip pat pasirinkti vieną, neapima sugrįžimo vertę kaip argumentu. Kai kuriais atvejais, būtų logiška, jei norite grįžti vertė nuo funkcijos. Leiskite pasakyti, kad buvome raštu funkcija vadinama add_floats. Przekażemy du argumentus, abi plūdes,, vadinamas pirmas ir antras. Ir jis jums pasakys mums, ką iš tų plūdžių suma. Mes žinome, kad, jei mes pridėti dvi plūdės yra pakibusios kartu, rezultatas bus plūdės. Atsižvelgiant į tai, kad, mes renkamės grįžimo tipo plūdės. Ši funkcija bus atlikti šį skaičiavimą ir grįžti kaip Grizimas vertės + sekundę;. Kai kontrolė būtų perduota iš kurio skambinama, kodą, todėl vertė yra dabar šio kodekso. Šią vertę, kaip mes galime laikyti: float rezultatas = add_floats (3,14, 1,62 );. Šiuo atveju rezultatas dabar yra reikšmę 4,76. Primename, kad slankiojo kablelio reikšmės yra netikslūs. Taigi, jei tai buvo finansinis apskaičiavimas, naudojant JAV dolerių ir centų, galbūt norėsite apsvarstyti tikslių duomenų tipą, pavyzdžiui, INT ir atlikti skaičiavimą centus,. Kitas atvejis, kai mes norime grąžinti nuo vertės funkcija, kai mes norime žinoti, jei funkcija buvo sėkmingas. Jei jis buvo ne sėkmingas, mes gali taip pat nori žinoti, kokio tipo klaida. Tarkime, kad mes bandome atidaryti failą diske skaičiuoti simbolių skaičių į jį. Jei failas negali būti atidarytas, mes norime, kad būtų galima sustabdyti ir pasakykite vartotoją apie problemą. Mes jį vadiname savo funkcijas count_file_chars ir jis bus imtis vieno argumento. Mes pereiti į failo vardą, naudojant char * vardas. Ši funkcija gali atrodyti taip. Šiame pavyzdyje, mes galime tikėtis, skaičius grįžo į 0 arba daugiau. Tai palieka mums neigiamus sveikuosius skaičius naudoti kaip sargybiniams vertybių. Sargybinis vertė yra tiesiog ypatingą vertę, kuri yra teisėti duomenis, bet perteikti informaciją. Čia, jei aš grįšiu -1 iki kurio skambinama, kodą, aš esu siunčia pranešimą, kad įvyko klaida, o bando pasiekti šį failą. Galėtų patikrinti, kad sugrįžimo vertę, siekiant nustatyti, jei mano funkcijos iškvietimas buvo sėkmingas. Jei šis skaičius buvo 0 arba didesnis, aš norėčiau žinoti simbolių skaičius bylos. Tačiau, jei šis skaičius buvo mažesnis už 0, galėčiau tiesiog Spausdinti kad problema įvyko. Vienas kompromisą apsvarstyti, yra, kad, skirdamos visi neigiamas reikšmes funkcijas kontrolės verčių, darant prielaidą, kad tai yra 32-bitų sveikasis skaičius, aš iš esmės atimti aplink 2 mlrd. Galimą grąžą vertės. Sugrįžimo vertę tipai yra vienas iš svarbiausių elementų funkcija skambučiai. Tikimės, kad ši trumpa apžvalga padėjo jums galvoti apie trys pagrindiniai tipai: negaliojančiu, rezultato vertės, ir nežinomas, kontroliniai vertės, ir kai kiekvieno iš trijų gali būti tinkama Jūsų kodas. Thanks for watching.