የቁልፍ ልዩነት - የተግባር ፕሮቶታይፕ እና የተግባር ፍቺ በሲ
አንድ ተግባር አንድን ተግባር ለማከናወን የሚያገለግል የመግለጫዎች ስብስብ ነው። በ C ፕሮግራሚንግ ውስጥ ፣ አፈፃፀሙ ከዋናው () ይጀምራል። ተግባር ነው። በአንድ ፕሮግራም ውስጥ ያሉትን ሁሉንም መግለጫዎች ከመጻፍ ይልቅ ወደ ብዙ ተግባራት ሊከፋፈል ይችላል. እያንዳንዱ ተግባር የተለያዩ ተግባራትን ያከናውናል. የተግባር ፕሮቶታይፕ ለአቀናባሪው ስለ ተግባር ስም፣ የመመለሻ አይነቶች እና ግቤቶች ይነግረዋል። የተግባር መግለጫ በመባልም ይታወቃል። እያንዳንዱ ተግባር እሱን ለመለየት የተለየ ስም አለው። የተግባር መግለጫዎቹ የተጻፉት በሁለት የተጠማዘዙ ማሰሪያዎች ውስጥ ነው።ተግባራቶቹ ዋጋን ሊመልሱ ይችላሉ. ዋጋ የማይመልሱ አንዳንድ ተግባራት አሉ። ውሂቡ የመለኪያ ዝርዝሩን በመጠቀም ወደ ተግባሩ ይተላለፋል። የተግባር ፍቺው በተግባሩ የሚሰራ ትክክለኛ ተግባር አለው። በ C ፕሮግራሚንግ ውስጥ የተግባር ፕሮቶታይፕ እና የተግባር ፍቺ አለ። በተግባሩ ፕሮቶታይፕ እና በተግባር ፍቺ መካከል ያለው ቁልፍ ልዩነት የተግባር ፕሮቶታይፕ የተግባር መግለጫን ብቻ ሲይዝ የተግባር ፍቺው የተግባርን ትክክለኛ አተገባበር ይይዛል። የተግባር ፍቺው አካባቢያዊ ተለዋዋጮች እና ተግባሩ ምን እንደሚሰራ የሚወስኑ መግለጫዎች አሉት።
በC ውስጥ የተግባር ፕሮቶታይፕ ምንድነው?
Function Prototype የተግባር መግለጫውን ያቀርባል። የተግባሩን ስም, የመመለሻ ዓይነቶችን, መለኪያዎችን ይገልጻል. የመመለሻ ዓይነቶች ከተግባሩ የሚመለሱ የውሂብ አይነት ናቸው. አንድ ተግባር ኢንቲጀር ሲመልስ፣ የመመለሻ አይነት int ነው። አንድ ተግባር ተንሳፋፊ እሴትን በሚመልስበት ጊዜ, የመመለሻ አይነት ተንሳፋፊ ነው.ተግባሩ ምንም አይነት እሴት ካልመለሰ ባዶ ተግባር ነው። የተግባር ስሙ እሱን ለመለየት ጥቅም ላይ ይውላል። C ቁልፍ ቃላት እንደ የተግባር ስሞች መጠቀም አይቻልም። ውሂቡ መለኪያዎችን በመጠቀም ወደ ተግባሩ ይተላለፋል። የተግባር ፕሮቶታይፕ የተግባርን ትክክለኛ አተገባበር አያካትትም። የተግባር ፕሮቶታይፕ የሚከተለው አገባብ አለው።
(የመለኪያ ዝርዝር)፤
ከፍተኛውን የሁለት ቁጥሮች ለማስላት ተግባር ካለ መግለጫው እንደ int max (int num1, int num2) ሊፃፍ ይችላል; ከፍተኛው እሴት በ num1 እና num2 ውስጥ መገኘት አለበት. እነዚያ ኢንቲጀሮች ናቸው፣ እና ወደ ተግባሩ ተላልፈዋል። የመመለሻ አይነት, መጀመሪያ ላይ, እንዲሁም int. ስለዚህ, ተግባሩ የኢንቲጀር ዋጋን ይመልሳል. በተግባሩ ፕሮቶታይፕ ውስጥ የመለኪያ ስሞችን መጻፍ አስፈላጊ አይደለም. ነገር ግን የውሂብ ዓይነቶችን መጻፍ አስፈላጊ ነው. ስለዚህ, int max (int, int); ትክክለኛ የተግባር ምሳሌ ነው። እንደ num1, num2, num3 ያሉ ሁለት ኢንቲጀሮች ካሉ እና ፕሮቶታይፕ እንደ int max (int num1, int num2, num3) ከተጻፈ; ልክ ያልሆነ ነው።ቁጥር 1፣ num2 የመረጃ አይነቶች አሉት፣ ግን num3 የውሂብ አይነት የለውም። ስለዚህ፣ ልክ ያልሆነ ነው።
ከታች ያለውን ፕሮግራም ይመልከቱ።
ያካትቱ
int CarMax(int x, int y);
int ዋና(){
int p=10;
int q=20፤
ምላሽ፤
መልስ=calMax(p,q);
printf("ከፍተኛው እሴት %d\n" ነው፣ መልስ)፤
መመለስ 0፤
}
int calMax(int p, int q){
int እሴት፤
ከሆነ(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 ውስጥ በተግባር ፕሮቶታይፕ እና የተግባር ፍቺ መካከል ያለው ልዩነት ምንድን ነው?
የተግባር ፕሮቶታይፕ vs የተግባር ፍቺ በሲ |
|
የተግባር ፕሮቶታይፕ የተግባር ስሙን፣ የመመለሻ አይነትን፣ ግቤቶችን ይገልፃል ግን የተግባር አካልን ይተወዋል። | የተግባር ፍቺው የተግባር ስሙን፣ የመመለሻ አይነትን ይገልጻል። መለኪያዎች የተግባር አካል ያካትታሉ። |
አተገባበር | |
የተግባር ፕሮቶታይፕ የተግባር ትግበራ የለውም። | የተግባር ፍቺው የተግባር ትግበራ አለው። |
ማጠቃለያ - የተግባር ፕሮቶታይፕ እና የተግባር ፍቺ በሲ
በፕሮግራሞች ውስጥ ተግባራትን መጠቀም ጥቅሞች አሉት። ተግባራት ኮድን እንደገና ጥቅም ላይ ማዋልን ይጨምራሉ. ተመሳሳዩን ኮድ ደጋግሞ መጻፍ አስፈላጊ አይደለም. በምትኩ, ፕሮግራመር ፕሮግራሙን መከፋፈል እና አስፈላጊውን ተግባር መጥራት ይችላል. በ C ውስጥ የቤተ-መጽሐፍት ተግባራት አሉ. እነዚህ ተግባራት በ C ራስጌ ፋይሎች ውስጥ ተገልጸዋል። ጥቂቶቹ printf ()፣ scanf () ወዘተ ናቸው። ፕሮግራም አድራጊው የራሳቸውን ተግባራት መፃፍ ይችላሉ። በ C ውስጥ ከተግባሮች ጋር የተቆራኙ ሁለት ቃላት አሉ። ፕሮቶታይፕ እና የተግባር ፍቺ ይሰራሉ። በ C ውስጥ ባለው የተግባር ፕሮቶታይፕ እና የተግባር ፍቺ መካከል ያለው ልዩነት የተግባር ፕሮቶታይፕ የተግባር መግለጫን ብቻ ሲይዝ የተግባር ፍቺው የተግባርን ትክክለኛ አተገባበር ይይዛል።
የፒዲኤፍ ኦፍ የተግባር ፕሮቶታይፕ vs የተግባር ፍቺን በC አውርድ
የዚህን ጽሁፍ ፒዲኤፍ ስሪት አውርደው በጥቅስ ማስታወሻ መሰረት ከመስመር ውጭ አላማዎች መጠቀም ይችላሉ። እባክዎ የፒዲኤፍ ሥሪቱን እዚህ ያውርዱ፡ በተግባር ፕሮቶታይፕ እና የተግባር ፍቺ መካከል ያለው ልዩነት በC