[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.