[Powered by Google Translate] Chris GERBER: Ang function na ay isang serye ng mga hakbang sa loob ng isang mas malaking programa, na kung saan ay karaniwang nilalayon na tinatawag na maraming beses at mula sa maraming iba pang mga lokasyon sa sa programa. Kapag lumilikha ng isang C function na, ang isa sa mga kinakailangan tukuyin ang isang halaga ng uri ng return. Ang pinakasimpleng kaso ay isang sitwasyon na kung saan ang pagtawag code ay hindi nababahala sa mga resulta ng pag-andar. Maaaring ito ang kaso kapag kami ay pag-print ng mga data sa display gumagamit, tulad ng printf. Sa kasong ito, maaari naming ipinapahayag ng pagbalik halaga ng uri void. Paggamit ng walang bisa lamang nagsasabi sa tagatala na walang halaga ay ibabalik. Natin makita kung ano ito mukhang. Sabihin nating na kami ay may isang function na tinatawag na say_hello na tumatagal ng isang argument. Namin ito pumasa ang pangalan ng isang tao at magpakita ng isang pagbati sa screen. Ang pangalan ng uri magpasinda *. At aming tinukoy na bilang argumento. Aking application ay hindi na kailangan upang malaman kung ano ang naka-print o kung ito ay naka-print. Kaya ang return halaga ng uri ng walang bisa. Function na ito ay maaaring i-print sa screen na may isang utos tulad ng printf ("Hello,% s \ n ", Pangalan);. Pagbati ay ipapakita at kontrol ay pumasa -back sa pagtawag code. Ang isang bagay na dapat tandaan ay na kapag ang halaga ng uri ng return ay walang bisa, hindi mo na kailangan upang isama ang isang pagbalik pahayag sa pag-andar. Kung pinili mo upang isama ng isa, huwag isama ang isang return halaga bilang isang argument. Sa ilang mga kaso, saysay upang magbalik ng halaga mula sa isang function. Sabihin nating na namin ang pagsusulat ng isang function na tinatawag na add_floats. Namin ito pumasa ang dalawang argumento, parehong mga kamay, tinatawag una at ikalawang. At ito ay sabihin sa amin kung ano ang kabuuan ng mga kamay ay. Alam namin na kung idagdag namin dalawang kamay, ang resulta ay isang Float. Given na, pinili namin ang return uri ng Float. Function na ito ay gawin ang pagkalkula at bumalik ang mga halaga sa isang pahayag tulad return unang + ikalawang;. Kapag ang control ay pumasa sa pabalik sa pagtawag code, ang nagreresulta halaga ay magagamit na ngayon sa na ang code. Maaari kaming mag-imbak ang halaga na ito tulad ng ito: Float resulta = add_floats (3.14, 1.62 );. Resulta sa kasong ito ay ngayon maglaman ang halaga 4.76. Bilang paalala, ang mga lumulutang point halaga ay imprecise. Kaya kung ito ay sa pananalapi pagkalkula, gamit ang mga dolyar at sentimo, maaari naming isaalang-alang ang isang tiyak na uri ng data tulad ng int at isagawa ang mga kalkulasyon sa mga pennies. Isa pang kaso kung saan namin nais upang bumalik ng isang halaga mula sa isang function na kapag gusto naming malaman kung ang isang function na ay matagumpay. Kung ito ay hindi matagumpay, maaari rin naming gusto mong malaman kung anong uri ng error. Sabihin natin na kami ay sinusubukan upang buksan ang isang file sa disk upang mabilang ang bilang ng mga character sa loob nito. Kung Hindi mabuksan ang file, gusto naming upang ihinto at sabihin sa user tungkol sa problema. Susubukan naming tumawag ang aming mga count_file_chars ng function at ay ito isang argument. Susubukan naming pumasa sa pangalan ng file gamit ang isang magpasinda * tinatawag filename. Function na ito ay maaaring tumingin ng isang bagay tulad nito. Sa halimbawang ito, gusto naming asahan bilang ng bumalik sa 0 o higit pa. Ito ay umalis sa amin ang mga negatibong integer sa gamitin bilang mga halaga ng bantay. Ang nagbabantay halaga ay isang espesyal na halaga na ay hindi na lamang lehitimong data ngunit ang ihatid ang impormasyon. Dito, kung bumalik ako ng -1 sa pagtawag code, Ako aktwal na pagpapadala ng mensahe na may naganap na error habang sinusubukang i-access ang file. Maaari kong suriin na return halaga upang matukoy kung ang aking function na tawag ay matagumpay. Kung ang numero ay 0 o mas mataas, gusto kong malaman ang bilang ng mga character sa file. Kung, gayunpaman, ang bilang ay mas mababa kaysa sa 0, maaari ko lamang -print na problema na naganap. Isa kalakalan-off upang isaalang-alang ay na sa pamamagitan ng mapagtipid ang lahat ng mga negatibong halaga bilang halaga nagbabantay, ipagpalagay na ito ay isang 32-bit integer, mahalagang ko kinuha ang layo sa paligid 2 bilyong posibleng balik halaga. Uri ng return halaga ay isa ng ang pinaka-mahalagang elemento ng function na tawag. Sana ang maikling pangkalahatang-ideya ay nakatulong sa tingin mo tungkol sa tatlong pangunahing uri: void, resulta halaga, at nagbabantay halaga, at kapag ang bawat isa sa tatlong maaaring naaangkop sa iyong code. Salamat para sa panonood.