[Powered by Google Translate] CHRIS GERBER: A funksiyası çərçivəsində addımlar bir sıra
adətən adlandırmaq üçün nəzərdə tutulan daha proqramı
neçə dəfə və bir neçə digər yerlərdə
proqram.
C funksiyası oluştururken tələblərinə biri üçün
geri değer növü daxil.
Ən sadə halda zəng edən bir vəziyyət
kodu funksiyasının nəticə ilə bağlı deyil.
Biz məlumat çap zaman Bu halda ola bilər
kimi printf ilə istifadəçi ekran.
Bu halda, biz geri dəyər elan edə bilər
növü etibarsız olmaq.
Boşluq istifadə sadəcə compiler deyir ki, heç bir
dəyər qaytarılacaqdır.
Bu kimi görünür nə edək.
>> Biz say_hello adlı bir funksiyası var ki, deyək ki,
bir mübahisə edir.
Biz bir şəxsin adı keçmək lazımdır və bu təbrik göstərilir
ekranda.
Adı type char * olacaq.
Və biz arqument kimi daxil olacaq.
Mənim proqramın çap bilmək lazımdır və ya deyil
çap olunub.
Belə qaytarılması değer növü etibarsız olacaq.
Bu funksiya kimi bir komanda ilə ekran çap bilər
printf ("Salam,% s \ n
"Adı);.
Təbrik nümayiş olunacaq və nəzarət keçiləcək
zəng kodu geri.
Qeyd bir şey geri değer növü etibarsız olduqda ki,
siz geri daxil ehtiyac yoxdur
funksiyası bəyanat.
Bir daxil seçerseniz, bir dönüş dəyəri daxil deyil
bir arqument kimi.
>> Bəzi hallarda, bir qayıtmaq mənada edir
bir funksiya dəyəri.
Biz add_floats adlı funksiyası yazılı idi ki edək.
Biz iki dəlillər, həm də üzüb gedirdi, ötürmək lazımdır
birinci və ikinci çağırıb.
Və bu üzüb gedirdi məbləği nə bizə olacaq.
Biz birlikdə iki üzüb gedirdi əlavə əgər nəticə bilirik
bir float olacaq.
Olduğunu nəzərə alaraq, biz düz bir qaytarılması növü seçin.
Bu funksiya bu hesablama həyata qayıdacaq
qaytarılması kimi bir bəyanat dəyərlər
ilk + ikinci;.
Nəzarət zəng kodu geri keçdi zaman,
dəyər nəticəsində indi kodu mövcuddur.
Biz kimi bu dəyəri saxlaya bilərsiniz: float nəticə =
add_floats (3.14, 1.62
);.
Bu halda nəticə indi dəyəri 4.76 ola bilər.
>> Bir öyüd-nəsihət olaraq, üzən point dəyərləri dəqiq olunur.
Bu dollar istifadə edərək, maliyyə hesablanması idi əgər
qəpik, biz kimi dəqiq data type düşünebilirsiniz
int və pennies ilə hesablanması həyata keçirir.
>> Biz bir dəyər qayıtmaq istəyirəm yerləşir digər halda
funksiyası bir funksiyası, əgər bilmək istəyirsiniz zaman
müvəffəqiyyətli.
Uğurlu olmasaydı, biz də nə növ bilmək istəyirsiniz bilər
səhv meydana gəldi.
Gəlin biz saymaq disk bir fayl açmaq üçün çalışdığınız ki,
bu simvol sayı.
Fayl açıla bilməz, biz dayandırmaq etmək istəyirik və
problem haqqında istifadəçi demək.
>> Biz funksiyası count_file_chars zəng edəcəyik və iradə
bir mübahisə edirlər.
Biz istifadə edərək fayl adı keçmək lazımdır
char * fayl çağırıb.
Bu funksiya bu kimi bir şey ola bilər.
Bu, məsələn, biz sayı döndü gözləmək olardı
0 və ya daha çox.
Bu bizə mənfi integers yarpağı
sentinel dəyərlər kimi istifadə edin.
A sentinel dəyər sadəcə deyil ki, xüsusi dəyəri
qanuni data amma məlumat çatdırmaq deyil.
Mən zəng kodu bir -1 qayıtmaq Burada, I am
əslində bir səhv meydana gələn mesaj göndərilməsi zamanı
fayl daxil olmaq üçün çalışırıq.
Mən sonra müəyyən ki qaytarılması dəyəri yoxlamaq bilər mənim
funksiyası zəng uğurlu olmuşdur.
Sayı 0 və ya daha çox idi, mən bilirəm ki,
fayl simvol sayı.
Lakin, sayı az 0 idi, mən sadəcə bilər
bir problem baş vermiş çap.
Hesab üçün bir ticarət-off bütün sifariş ilə ki,
mənfi dəyərləri sentinel dəyərlər kimi, bu fərz deyil
32-bit tam, mən mahiyyətcə ətrafında əlindən alıblar
2 milyard mümkün qaytarılması dəyərlər.
>> Arxiv dəyər növlərinin ən mühüm elementlərindən biridir
funksiyası zənglər.
İnşallah bu qısa xülasə düşünməyə kömək edir
üç əsas növləri: düşmüş, nəticə dəyərlər və sentinel dəyərlər,
zaman üç hər ola bilər
kodunuzu müvafiq.
Izləmək üçün təşəkkür edirik.