Function prototype
কম্পিউটার প্রোগ্রামিং-এ, একটি ফাংশন প্রোটোটাইপ বা ফাংশন ইন্টারফেস হল একটি ফাংশনের ঘোষণা যা ফাংশনের নাম এবং টাইপ স্বাক্ষর (অ্যারিটি, ডেটা প্রকারের পরামিতি এবং রিটার্ন প্রকার) নির্দিষ্ট করে, কিন্তু ফাংশন বডি বাদ দেয়। যদিও একটি ফাংশন সংজ্ঞা নির্দিষ্ট করে যে ফাংশনটি কিভাবে কাজ করে ("বাস্তবায়ন"), একটি ফাংশন প্রোটোটাইপ কেবল তার ইন্টারফেস নির্দিষ্ট করে, অর্থাৎ। কোন ধরনের তথ্য এতে প্রবেশ করে এবং তা থেকে বেরিয়ে আসে। "ফাংশন প্রোটোটাইপ" শব্দটি বিশেষত প্রোগ্রামিং ভাষা সি এবং সি + +-এর প্রসঙ্গে ব্যবহৃত হয় যেখানে হেডার ফাইলগুলিতে ফাংশনের অগ্রবর্তী ঘোষণাগুলি একটি প্রোগ্রামকে অনুবাদ ইউনিটে বিভক্ত করার অনুমতি দেয়, অর্থাৎ। এমন অংশগুলিতে যা একটি সংকলক পৃথকভাবে অবজেক্ট ফাইলগুলিতে অনুবাদ করতে পারে, একটি লিঙ্কার দ্বারা একটি এক্সিকিউটেবল বা একটি লাইব্রেরিতে মিলিত হতে পারে। ফাংশন ঘোষণাটি ফাংশন সংজ্ঞার আগে, অন্যান্য প্রাসঙ্গিক বৈশিষ্ট্যগুলির সাথে নাম, রিটার্ন টাইপ এবং স্টোরেজ ক্লাসের বিবরণ দেয়। ফাংশন প্রোটোটাইপগুলি ব্যবহার করা যেতে পারে যখনঃ একটি বাহ্যিক প্রকারের সংজ্ঞা একটি ইন্টারফেস অংশ তৈরি করা একটি প্রোটোটাইপে, প্যারামিটার নামগুলি ঐচ্ছিক (এবং সি/সি + +-এ ফাংশন প্রোটোটাইপ সুযোগ রয়েছে, যার অর্থ তাদের সুযোগ প্রোটোটাইপের শেষে শেষ হয়), তবে, সমস্ত সংশোধকের সাথে প্রকারটি প্রয়োজনীয় (যেমন। যদি এটি একটি পয়েন্টার বা প্যারামিটারের একটি রেফারেন্স হয়) একা ছাড়া। অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এ, ইন্টারফেস এবং বিমূর্ত পদ্ধতিগুলি প্রায় একই উদ্দেশ্য সাধন করে। উদাহরণ নিম্নলিখিত ফাংশন প্রোটোটাইপ বিবেচনা করুনঃ অকার্যকর যোগফল (int a, int b); অথবা অকার্যকর যোগফল (int, int); অথবা স্বয়ংক্রিয় যোগফল (int, int)-> অকার্যকর;// C + + শুধুমাত্র ফাংশন প্রোটোটাইপগুলির মধ্যে রয়েছে ফাংশন স্বাক্ষর, ফাংশনের নাম, রিটার্নের ধরণ এবং অ্যাক্সেস স্পেসিফায়ার। এই ক্ষেত্রে ফাংশনের নাম হল "যোগফল"। ফাংশন স্বাক্ষর পরামিতিগুলির সংখ্যা এবং তাদের প্রকারগুলি সংজ্ঞায়িত করে। রিটার্নের ধরন হল "অকার্যকর"। এর মানে হল যে ফাংশনটি কোনও মান ফেরত দেবে না। মনে রাখবেন যে প্রথম উদাহরণে পরামিতিগুলির নামগুলি ঐচ্ছিক। ব্যবহার সি-এর প্রাথমিক সংস্করণগুলিতে, যদি কোনও ফাংশন আগে ঘোষণা না করা হয় এবং এর নাম একটি বাম বন্ধনী দ্বারা অনুসরণ করা একটি অভিব্যক্তিতে ঘটে, তবে এটি অন্তর্নিহিতভাবে এমন একটি ফাংশন হিসাবে ঘোষণা করা হয়েছিল যা একটি পূর্ণসংখ্যা প্রদান করে এবং এর আর্গুমেন্ট সম্পর্কে কিছুই ধরে নেওয়া হয়নি। এই ক্ষেত্রে কম্পাইলার আর্গুমেন্টের সংখ্যা এবং প্রকার (গুলি) সংকলন-সময়ের বৈধতা পরীক্ষা করতে সক্ষম হবে না। সি99 মানটির জন্য প্রোটোটাইপগুলির ব্যবহার প্রয়োজন। চার মাই ফাংশন (int a);/* ফাংশন প্রোটোটাইপ */#include <stdio.h> #include <limits.h> ইন্ট মেইন (অকার্যকর) {পুটচার (মাই ফাংশন (-1));/* সঠিকভাবে ফরম্যাট করা কল */পুটচার (মাই ফাংশন (1.5));/* কম্পাইলার টাইপের অসামঞ্জস্যের কারণে একটি সতর্কতা তৈরি করে */পুটচার (মাই ফাংশন (ইনকর্ক্টআর্গটাইপ));/* কম্পাইলার একটি সতর্কতা */পুটচার (মাই ফাংশন) তৈরি করবে;/* কম্পাইলার খুব কম আর্গুমেন্ট তৈরি করবে */এক = 1; পুটচার (মাই ফাংশন) ফাংশন প্রোটোটাইপ অন্তর্ভুক্ত করে, আপনি সংকলককে জানান যে ফাংশনটি একটি পূর্ণসংখ্যা যুক্তি নেয় এবং আপনি সংকলককে ভুলভাবে নির্দিষ্ট কলগুলি ধরতে সক্ষম করেন। একটি হেডার ফাইলে ফাংশন প্রোটোটাইপ স্থাপন করে, একটি লাইব্রেরির জন্য একটি ইন্টারফেস নির্দিষ্ট করা যেতে পারে। শ্রেণী ঘোষণা সি + +-এ, ফাংশনের প্রোটোটাইপগুলি শ্রেণী সংজ্ঞাতেও ব্যবহৃত হয়। আরও দেখুন মডুলার প্রোগ্রামিং প্রোটোকল (অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং) বিমূর্ত পদ্ধতি রেফারেন্স সি প্রোগ্রামিং ভাষা পরিবার কম্পিউটার প্রোগ্রামিং