[Powered by Google Translate] Крис Гербер: А функција е серија на чекори во
поголема програма, која обично се наменети да се нарече
неколку пати и од повеќе други локации во
на програмата.
Кога креирате функција Ц, еден од условите е да се
наведете повратната вредност тип.
Наједноставен случај е ситуација каде што повикувајќи
код не е загрижен од резултатите на функцијата.
Ова може да биде случај кога сме печатење на податоци на
корисникот дисплеј, како и со printf.
Во овој случај, можеме да се изјасни за вратената вредност
да биде од тип неважечки.
Користење празнина едноставно кажува на компајлерот дека нема
вредност ќе бидат вратени.
Ајде да видиме што ова изгледа како.
>> Да речеме дека имаме функција наречена say_hello дека
зема еден аргумент.
Ние ќе го помине името на лицето и ќе прикаже поздрав
на екранот.
Името ќе биде од тип char *.
И ние ќе се каже дека како аргумент.
Моето барање не треба да знаеш што беше испечатена или ако
е отпечатена.
Значи вратената вредност ќе биде од тип неважечки.
Оваа функција може да печати на екран со командата како
printf ("Здраво,% s \ n
"Име);.
Поздрав ќе биде прикажан и контрола ќе биде усвоен
Врати се на повикувачки број.
Една работа е да се напомене е дека кога се врати на вредност тип е празнина,
не треба да се вклучат во враќањето
изјава во функција.
Ако одберете да вклучуваат еден, не вклучуваат повратната вредност
како аргумент.
>> Во некои случаи, тоа го прави смисла да се врати
вредност од функцијата.
Да речеме дека сме биле пишување функција наречена add_floats.
Ние ќе го помине два аргументи, и плови,
нарекува прв и втор.
И тоа ќе ни каже она што на збирот на тие плови е.
Ние знаеме дека ако ние додадете две пловки заедно, резултатот
ќе биде плови.
Со оглед на тоа, ние изберете враќање тип на плови.
Оваа функција ќе ја вршат оваа пресметка и да се вратат
вредностите во изјава како враќање
Првиот + секунда;.
Кога контролата е донесен назад кон повикувајќи код,
добиената вредност е сега на располагање на овој код.
Ние може да се сместат оваа вредност како така: плови резултат =
add_floats (3,14, 1,62
);.
Резултат во овој случај сега ќе содржи вредноста 4,76.
>> Како потсетување, подвижна запирка вредности се непрецизни.
Значи, ако ова беше финансиска пресметка, користење долари и
центи, ние можеби ќе сакате да се разгледа прецизни податоци тип како што се
int и врши пресметка во пени.
>> Уште еден случај каде што ние би сакале да се врати на вредност од
функција е кога ќе сакаат да знаат дали функција беше
успешна.
Ако тоа не беше успешна, ние исто така може да сакате да знаете што тип на
грешка.
Да речеме дека ние се обидуваме да се отвори датотеката на дискот да се избројат
бројот на карактери во неа.
Ако датотеката не може да се отвори, ние сакаме да биде во можност да се запре и
кажете на корисникот за проблемот.
>> Ние ќе се јавите во нашата функција count_file_chars и тоа ќе
земе еден аргумент.
Ќе помине во името на датотеката со користење на
char * повика името на датотеката.
Оваа функција може да изгледа нешто како ова.
Во овој пример, ние би очекувале брои врати
да биде 0 или повеќе.
Ова ни остава негативни цели броеви да
користи како стража вредности.
А стража вредност е едноставно посебна вредност, која не е
легитимни податоци, но не се пренесе информации.
Еве, ако јас се врати -1 на повикувачки број, јас сум
всушност испраќање на порака дека грешка при
се обидуваат да пристапите на датотеката.
Јас тогаш може да се провери дека повратната вредност да се утврди дали моето
повик на функција беше успешна.
Ако бројот е 0 или поголема, јас би ја знаат
бројот на карактери во датотеката.
Ако, пак, бројот е помал од 0, можев едноставно
печати дека проблем се случи.
Еден трампа да се разгледа е дека со задржување на сите
негативни вредности како стража вредности, под претпоставка дека ова е
32-битен број, имам суштина одземени околу
2 милијарди можно враќање вредности.
>> Повратната вредност типови се еден од најважните елементи на
функциски повици.
Се надеваме дека овој краток преглед помогна мислите за
три клучни видови: празнина, резултат вредности, и стража вредности,
и кога секој од трите може да биде
соодветно во вашиот код.
Ви благодариме за гледање.