Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում

Բովանդակություն:

Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում
Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում

Video: Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում

Video: Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում
Video: Inside the Brain of a Psychopath 2024, Հուլիսի
Anonim

Հիմնական տարբերություն – ֆունկցիայի նախատիպ ընդդեմ ֆունկցիայի սահմանման C-ում

Ֆունկցիան հայտարարությունների խումբ է, որն օգտագործվում է որոշակի առաջադրանք կատարելու համար: C ծրագրավորման մեջ կատարումը սկսվում է հիմնականից (): Դա ֆունկցիա է։ Բոլոր հայտարարությունները նույն ծրագրում գրելու փոխարեն, այն կարելի է բաժանել բազմաթիվ գործառույթների: Յուրաքանչյուր գործառույթ կկատարի տարբեր գործառույթներ: Ֆունկցիայի նախատիպը կոմպիլյատորին պատմում է ֆունկցիայի անվան, վերադարձի տեսակների և պարամետրերի մասին։ Այն նաև հայտնի է որպես ֆունկցիայի հռչակագիր: Յուրաքանչյուր ֆունկցիա ունի որոշակի անուն՝ այն նույնացնելու համար: Գործառույթի հայտարարությունները գրված են զույգ գանգուր փակագծերի ներսում:Ֆունկցիաները կարող են արժեք վերադարձնել: Կան որոշ գործառույթներ, որոնք արժեք չեն վերադարձնում: Տվյալները փոխանցվում են ֆունկցիային՝ օգտագործելով պարամետրերի ցանկը: Ֆունկցիայի սահմանումն ունի գործառույթի կողմից իրականացվող իրական ֆունկցիոնալությունը: C ծրագրավորման մեջ կա ֆունկցիայի նախատիպ և ֆունկցիայի սահմանում։ Ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման հիմնական տարբերությունն այն է, որ ֆունկցիայի նախատիպը պարունակում է միայն ֆունկցիայի հայտարարությունը, մինչդեռ ֆունկցիայի սահմանումը պարունակում է ֆունկցիայի իրական իրականացումը: Ֆունկցիայի սահմանումն ունի տեղական փոփոխականներ և հայտարարություններ, որոնք որոշում են, թե ինչ է անում ֆունկցիան:

Ի՞նչ է ֆունկցիայի նախատիպը C-ում:

Function Prototype-ն ապահովում է ֆունկցիայի հռչակագիրը: Այն սահմանում է ֆունկցիայի անվանումը, վերադարձի տեսակները, պարամետրերը: Վերադարձի տեսակները տվյալների տեսակն են, որը վերադարձվում է ֆունկցիայից: Երբ ֆունկցիան վերադարձնում է ամբողջ թիվ, ապա վերադարձի տեսակը int է: Երբ ֆունկցիան վերադարձնում է float արժեք, ապա վերադարձի տեսակը float է:Եթե ֆունկցիան որևէ արժեք չի վերադարձնում, ապա այն դատարկ ֆունկցիա է: Ֆունկցիայի անունը օգտագործվում է այն նույնացնելու համար: C հիմնաբառերը չեն կարող օգտագործվել որպես ֆունկցիաների անուններ: Տվյալները փոխանցվում են ֆունկցիային՝ օգտագործելով պարամետրերը: Ֆունկցիայի նախատիպը չի պարունակում ֆունկցիայի իրական իրականացումը։ Ֆունկցիայի նախատիպն ունի հետևյալ շարահյուսությունը.

(պարամետրերի ցանկ);

Եթե կա առավելագույնը երկու թվերի հաշվարկման ֆունկցիա, ապա հայտարարությունը կարող է գրվել որպես int max (int num1, int num2); Առավելագույն արժեքը պետք է գտնել num1-ում և num2-ում: Սրանք ամբողջ թվեր են և փոխանցվում են ֆունկցիային: Վերադարձի տեսակը սկզբում նույնպես միջ. Այսպիսով, ֆունկցիան վերադարձնում է ամբողջ արժեք: Անհրաժեշտ չէ ֆունկցիայի նախատիպում գրել պարամետրերի անունները: Բայց անհրաժեշտ է գրել տվյալների տեսակները։ Հետևաբար, int max (int, int); նույնպես վավեր ֆունկցիայի նախատիպ է: Եթե կան երկու ամբողջ թվեր որպես num1, num2, num3, իսկ նախատիպը գրվում է որպես int max(int num1, int num2, num3); դա անվավեր է։num1, num2-ն ունեն տվյալների տեսակները, բայց num3-ը չունի տվյալների տեսակ: Հետևաբար, այն անվավեր է։

Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում
Տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում

Հղում ստորև ներկայացված ծրագրին:

ներառել

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;

}

վերադարձի արժեք;

}

Համաձայն վերոհիշյալի, երկրորդ հայտարարությունը ցույց է տալիս ֆունկցիայի նախատիպը։ Այն իրագործում չունի։ Փաստացի իրականացումը հիմնական ծրագրից հետո է։ Ֆունկցիայի նախատիպերը ավելի օգտակար են մի աղբյուր ֆայլում ֆունկցիա սահմանելիս և այդ ֆունկցիան կանչել մեկ այլ ֆայլում:

Ի՞նչ է ֆունկցիայի սահմանումը C-ում:

Ֆունկցիայի սահմանումն ունի ֆունկցիայի իրական իրականացումը: Այն պարունակում է այն, ինչ պետք է անի գործառույթը: Երբ ծրագիրը կանչում է ֆունկցիան, կառավարումը փոխանցվում է կանչված ֆունկցիային: Ֆունկցիան կատարելուց հետո կառավարումը վերադառնում է հիմնական գործառույթին: Պահանջվող տվյալները փոխանցվում են ֆունկցիային որպես պարամետրերի ցանկ: Եթե կա վերադարձվող արժեք, ապա նշվում է վերադարձի տեսակը։ Եթե վերադարձվող արժեքներ չկան, վերադարձի տեսակը անվավեր է: Եռանկյան մակերեսը հաշվարկելու համար դիմեք ստորև նշված ֆունկցիային:

ներառել

float calArea(int x, int y);

int հիմնական () {

int p=10;

int q=20;

բնակարանային տարածք;

տարածք=calArea(p, q);

printf («Առավելագույն արժեքը %f\n է», տարածք);

վերադարձ 0;

}

float calArea (int x, int y) {

լողացող արժեք;

արժեք=0,5xy;

վերադարձի արժեք;

}

Ըստ վերը նշված ծրագրի՝ երկրորդ հայտարարությունը ցույց է տալիս ֆունկցիայի նախատիպը։ Գործառույթի կատարածի փաստացի իրականացումը գրվում է հիմնական ծրագրից հետո: Դա ֆունկցիայի սահմանումն է։ p և q արժեքները փոխանցվում են calArea ֆունկցիային: Փոփոխական արժեքը calArea ֆունկցիայի տեղական փոփոխական է: Տարածքը հաշվարկվում և վերագրվում է փոփոխական արժեքին: Այնուհետև այն վերադարձվում է հիմնական ծրագիր:

Որո՞նք են նմանությունները ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում:

  • Եվ ֆունկցիայի նախատիպը և գործառույթի սահմանումը կապված են գործառույթների հետ:
  • Եվ ֆունկցիայի նախատիպը և գործառույթի սահմանումը պարունակում են ֆունկցիայի անվանում:
  • Եվ ֆունկցիայի նախատիպը և գործառույթի սահմանումը պարունակում են վերադարձի տեսակներ:
  • Եվ ֆունկցիայի նախատիպը և գործառույթի սահմանումը պարունակում են պարամետրեր:

Ո՞րն է տարբերությունը ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև C-ում:

Ֆունկցիայի նախատիպ ընդդեմ ֆունկցիայի սահմանման C-ում

Ֆունկցիայի նախատիպը սահմանում է ֆունկցիայի անունը, վերադարձի տեսակը, պարամետրերը, սակայն բաց է թողնում ֆունկցիայի մարմինը: Ֆունկցիայի սահմանումը սահմանում է ֆունկցիայի անվանումը, վերադարձի տեսակը; պարամետրերը ներառում են ֆունկցիայի մարմին:
Իրականացում
Ֆունկցիայի նախատիպը չունի գործառույթի իրականացում: Ֆունկցիայի սահմանումն ունի ֆունկցիայի իրականացում:

Ամփոփում – Ֆունկցիայի նախատիպ ընդդեմ ֆունկցիայի սահմանումը C-ում

Ծրագրերում գործառույթների օգտագործումն առավելություններ ունի. Գործառույթները մեծացնում են կոդի կրկնակի օգտագործման հնարավորությունը: Պետք չէ նորից ու նորից գրել նույն կոդը։ Փոխարենը ծրագրավորողը կարող է բաժանել ծրագիրը և կանչել անհրաժեշտ ֆունկցիան։ C-ում կան գրադարանային ֆունկցիաներ։ Այս գործառույթները հայտարարված են C վերնագրի ֆայլերում: Դրանցից մի քանիսն են printf (), scanf () և այլն: Ծրագրավորողը կարող է նաև գրել իր սեփական գործառույթները: Գոյություն ունեն երկու տերմին, որոնք կապված են C-ում ֆունկցիաների հետ: Դրանք գործում են նախատիպ և ֆունկցիայի սահմանում: Ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման միջև տարբերությունը C-ում այն է, որ ֆունկցիայի նախատիպը պարունակում է միայն ֆունկցիայի հայտարարությունը, մինչդեռ ֆունկցիայի սահմանումը պարունակում է ֆունկցիայի իրական իրականացումը:

Ներբեռնեք «Function Prototype vs Function Definition»-ի PDF-ը C-ում

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ՝ Ֆունկցիայի նախատիպի և ֆունկցիայի սահմանման տարբերությունը C-ում

Խորհուրդ ենք տալիս: