[Powered by Google Translate] CHRIS GERBER: kazi ni mfululizo wa hatua ndani ya kubwa mpango, ambayo ni kawaida lengo kuitwa mara nyingi na kutoka nyingi maeneo mengine katika mpango. Wakati kujenga kazi C, moja ya mahitaji ni kwa bayana thamani kurudi aina. kesi ya rahisi ni hali ambapo wito code ni si na wasiwasi na matokeo ya kazi. Hii inaweza kuwa kesi wakati sisi ni kuchapisha data kwa kuonyesha ya mtumiaji, kama kwa printf. Katika kesi hiyo, tunaweza kutangaza thamani ya kurudi kuwa ya utupu aina. Kutumia utupu tu anamwambia compiler kwamba hakuna thamani watarejeshwa. Hebu kuona nini hii inaonekana kama. Hebu kusema kwamba tuna kazi kuitwa say_hello kwamba inachukua moja hoja. Tutaweza kupita jina la mtu na itakuwa kuonyesha salamu kwenye screen. jina itakuwa ya * aina Char. Na tutaweza bayana kwamba kama hoja. Maombi yangu haina haja ya kujua nini ilichapishwa au kama ni kilichapishwa. Hivyo thamani kurudi itakuwa ya utupu aina. Kazi hii inaweza magazeti kwa screen na amri kama printf ("Hello,% s \ n ", Jina);. salamu yataoneshwa na kudhibiti itakuwa kupita nyuma kwa kificho wito. Jambo moja kukumbuka ni kwamba wakati thamani kurudi aina ni batili, huna haja kwa pamoja kurudi taarifa katika kazi. Kama wewe kuchagua ni pamoja na moja, si ni pamoja na thamani ya kurudi kama hoja. Katika baadhi ya matukio, ni mantiki ya kurudi thamani kutoka kazi. Hebu kusema kwamba tulikuwa kuandika kazi kuitwa add_floats. Tutaweza kupita hoja mbili, ikifungwa, kuitwa kwanza na pili. Na itakuwa kutuambia nini Jumla ya ikifungwa wale ni. Tunajua kwamba kama sisi kuongeza ikifungwa mbili pamoja, matokeo itakuwa kuelea. Kutokana na kwamba, sisi kuchagua aina ya kurudi kwa kuelea. Kazi hii utakaotenda hayo mahesabu na kurudi maadili katika taarifa kama kurudi kwanza + pili;. Wakati udhibiti ni kupita nyuma code wito, kusababisha thamani sasa inapatikana kwa kificho kwamba. Tunaweza kuhifadhi thamani hii kama hivyo: kuelea matokeo = add_floats (3.14, 1.62 );. Matokeo katika kesi hii ingekuwa sasa vyenye thamani 4.76. Kama ukumbusho, floating kumweka maadili ni imprecise. Hivyo kama hii ilikuwa hesabu za fedha, kwa kutumia dola na senti, sisi inaweza kufikiria data sahihi ya aina kama vile int na kufanya hesabu katika pennies. Kesi nyingine ambapo sisi wanataka kurudi thamani kutoka kazi ni wakati tunataka kujua kama kazi ilikuwa mafanikio. Kama haikuwa na mafanikio, sisi pia nataka kujua ni aina gani ya Hitilafu ilitokea. Hebu kusema kwamba sisi ni kujaribu kufungua faili kwenye disk ya kuhesabu idadi ya herufi katika hilo. Kama faili hawezi kufunguliwa, tunataka kuwa na uwezo wa kuacha na kuwaambia mtumiaji juu ya tatizo. Tutamwita kazi count_file_chars yetu na mapenzi kuchukua moja hoja. Sisi itabidi kupita katika jina la faili kwa kutumia Char * kuitwa filename. Kazi hii ili kuangalia kitu kama hiki. Katika mfano huu, tulitazama kuhesabu akarudi kuwa 0 au zaidi. Hii inatuacha integers hasi kwa kutumia kama maadili sentinel. thamani sentinel ni tu thamani maalum ambayo si data halali lakini haina kuwasilisha taarifa. Hapa, kama mimi kurudi -1 kwa kificho wito, mimi ni kweli kutuma ujumbe kwamba kosa ilitokea wakati kujaribu kupata faili. Mimi nilikuwa basi kuangalia kwamba thamani ya kurudi ili kuamua kama yangu kazi wito ilikuwa na mafanikio. Kama idadi ilikuwa 0 au zaidi, napenda kujua idadi ya herufi katika faili. Kama, hata hivyo, idadi ilikuwa chini ya 0, mimi nilikuwa tu magazeti kwamba tatizo ilitokea. Moja biashara-off ya kuzingatia ni kwamba kwa reservera wote maadili hasi kama maadili sentinel, kuchukua hii ni 32-bit integer, mimi kimsingi kuchukuliwa mbali duniani Bilioni 2 inawezekana kurudi maadili. Kurudi thamani aina ni moja ya mambo muhimu zaidi ya kazi wito. Hopefully hii overview mfupi imesaidia unafikiri juu ya tatu muhimu aina: batili, maadili matokeo, na maadili sentinel, na wakati kila mmoja wa tatu inaweza kuwa sahihi katika code yako. Shukrani kwa ajili ya kuangalia.