Негизги айырма – Функциянын прототиби менен C тилиндеги функциянын аныктамасы
Функция – бул белгилүү бир тапшырманы аткаруу үчүн колдонулган операторлордун тобу. Си программалоодо аткаруу негизгиден () башталат. Бул функция. Бардык билдирүүлөрдү бир эле программада жазуунун ордуна, аны бир нече функцияга бөлүүгө болот. Ар бир функция ар кандай функцияларды аткарат. Функциянын прототиби компиляторго функциянын аталышы, кайтаруу түрлөрү жана параметрлери жөнүндө айтып берет. Ал функция декларациясы катары да белгилүү. Ар бир функциянын аны аныктоо үчүн атайын аталышы бар. Функция операторлору тармал кашаанын ичинде жазылган. Функциялар маанини кайтара алат. Маани кайтарбаган кээ бир функциялар бар. Маалыматтар параметр тизмеси аркылуу функцияга берилет. Функциянын аныктамасы функция аткарган иш жүзүндөгү функцияга ээ. Си программалоодо функциянын прототиби жана функциянын аныктамасы бар. Функциянын прототиби менен функциянын аныктамасынын негизги айырмачылыгы, функциянын прототиби функциянын декларациясын гана камтыйт, ал эми функциянын аныктамасы функциянын иш жүзүндө аткарылышын камтыйт. Функциянын аныктамасында локалдык өзгөрмөлөр жана функция эмне кылаарын аныктаган операторлор бар.
С тилиндеги функциянын прототипи деген эмне?
Function Prototype функциянын декларациясын камсыз кылат. Ал функциянын атын, кайтаруу түрлөрүн, параметрлерин көрсөтөт. Кайтаруу түрлөрү - бул функциядан кайтып келген маалымат түрү. Функция бүтүн санды кайтарып жатканда, кайтаруу түрү int болот. Функция float маанисин кайтарып жатканда, кайтаруу түрү калкып чыгуу болуп саналат. Эгерде функция эч кандай маанини кайтарбаса, анда бул жараксыз функция. Функциянын аталышы аны аныктоо үчүн колдонулат. C ачкыч сөздөрүн функция аттары катары колдонууга болбойт. Маалыматтар функцияга параметрлерди колдонуу менен берилет. Функциянын прототиби функциянын реалдуу ишке ашырылышын камтыбайт. Функциянын прототиби төмөнкү синтаксиске ээ.
(параметрлердин тизмеси);
Эгерде эң көп эки санды эсептөө функциясы бар болсо, декларацияны int max (int num1, int num2) катары жазууга болот; Максималдуу маани num1 жана num2де табылышы керек. Бул бүтүн сандар жана алар функцияга өткөрүлөт. Кайтаруу түрү, башында, ошондой эле int. Ошентип, функция бүтүн санды кайтарат. Функциянын прототипине параметр атын жазуу зарыл эмес. Бирок маалымат түрлөрүн жазуу керек. Ошондуктан, int max (int, int); ошондой эле жарактуу функциянын прототиби болуп саналат. Эгерде num1, num2, num3 сыяктуу эки бүтүн сан болсо жана прототип int max (int num1, int num2, num3) катары жазылса; ал жараксыз.num1, num2 маалымат түрлөрү бар, бирок num3 маалымат түрү жок. Демек, ал жараксыз.
Төмөнкү программаны караңыз.
камтуу
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int жооп;
жооп=calMax(p, q);
printf(“Эң жогорку маани %d\n”, жооп);
кайтаруу 0;
}
int calMax(int p, int q){
int мааниси;
if(p>q) {
маани=p;
}
башка {
маани=q;
}
кайтаруу мааниси;
}
Жогорудагыларга ылайык, экинчи билдирүү функциянын прототибин көрсөтөт. Аны ишке ашыруу жок. Иш жүзүндө ишке ашыруу негизги программадан кийин. Функциянын прототиптери бир баштапкы файлдагы функцияны аныктоодо жана ал функцияны башка файлда чакырууда пайдалуураак.
С тилинде функциянын аныктамасы деген эмне?
Функциянын аныктамасында функциянын иш жүзүндө аткарылышы бар. Анда функция эмне кылуу керек экенин камтыйт. Программа функцияны чакырганда, башкаруу чакырылган функцияга өтөт. Функция аткарылгандан кийин, башкаруу негизги функцияга кайтып келет. Керектүү маалыматтар функцияга параметр тизмеси катары берилет. Кайтаруучу маани бар болсо, анда кайтаруу түрү айтылат. Кайтаруучу маанилер жок болсо, кайтаруу түрү жараксыз болуп саналат. Үч бурчтуктун аянтын эсептөө үчүн төмөнкү функцияны караңыз.
камтуу
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
жалпак аянты;
аймак=calArea(p, q);
printf («Эң жогорку маани %f\n», аймак);
кайтаруу 0;
}
float calArea (int x, int y) {
float мааниси;
маани=0,5xy;
кайтаруу мааниси;
}
Жогорудагы программага ылайык, экинчи билдирүү функциянын прототибин көрсөтөт. Функция аткарган нерсенин иш жүзүндө аткарылышы негизги программадан кийин жазылат. Бул функциянын аныктамасы. p жана q маанилери calArea функциясына өткөрүлөт. Өзгөрмө мааниси calArea функциясы үчүн жергиликтүү өзгөрмө болуп саналат. Аянт эсептелет жана өзгөрмө мааниге дайындалат. Андан кийин кайра негизги программага кайтарылат.
Функциянын прототиби менен C тилиндеги функциянын аныктамасынын ортосунда кандай окшоштуктар бар?
- Функциянын прототиби да, функциянын аныктамасы да функцияларга байланыштуу.
- Функциянын прототиби да, функциянын аныктамасы да функциянын аталышын камтыйт.
- Функциянын прототиби менен функциянын аныктамасы тең кайтаруу түрлөрүн камтыйт.
- Функциянын прототиби менен функциянын аныктамасы тең параметрлерди камтыйт.
Функциянын прототиби менен C тилиндеги функциянын аныктамасынын ортосунда кандай айырма бар?
Функциянын прототиби жана C тилиндеги функциянын аныктамасы |
|
Функциянын прототиби функциянын атын, кайтаруу түрүн, параметрлерин көрсөтөт, бирок функциянын тулкусун калтырат. | Функциянын аныктамасы функциянын атын, кайтаруу түрүн көрсөтөт; параметрлер функциянын денесин камтыйт. |
Ишке ашыруу | |
Функциянын прототипинде функцияны ишке ашыруу жок. | Функциянын аныктамасында функцияны ишке ашыруу бар. |
Кыскача – Функциянын прототиби жана C тилиндеги функциянын аныктамасы
Программаларда функцияларды колдонуу артыкчылыктарга ээ. Функциялар кодду кайра колдонуу мүмкүнчүлүгүн жогорулатат. Бир эле кодду кайра-кайра жазуунун кажети жок. Анын ордуна, программист программаны бөлүп, керектүү функцияны чакыра алат. С тилинде китепкана функциялары бар. Бул функциялар C баш файлында жарыяланган. Алардын айрымдары printf (), scanf () ж.б. Программист өзүнүн функцияларын да жаза алат. С тилиндеги функциялар менен байланышкан эки термин бар. Алар прототип жана функцияны аныктоо функциясын аткарат. Функциянын прототиби менен функциянын аныктамасынын C тилиндеги айырмасы, функциянын прототиби функциянын декларациясын гана камтыйт, ал эми функциянын аныктамасы функциянын иш жүзүндө аткарылышын камтыйт.
Функциянын прототипинин PDFти C тилиндеги функциянын аныктамасын жүктөп алыңыз
Сиз бул макаланын PDF версиясын жүктөп алып, аны оффлайн максаттары үчүн колдонсоңуз болот. Сураныч, PDF версиясын бул жерден жүктөп алыңыз: Функциянын прототиби менен функциянын аныктамасынын ортосундагы айырма C