এখানে দেখব সি বা সি++-এ ফাংশন প্রোটোটাইপ ব্যবহারের উদ্দেশ্য। ফাংশন প্রোটোটাইপ কম্পাইলারকে ফাংশন প্যারামিটারের সংখ্যা, ডেটা টাইপ এবং রিটার্ন টাইপ সম্পর্কে বলে দেয়। এই ইনফরমেশন দিয়ে কম্পাইলার ফাংশন কল করার আগে ফাংশন সিগনেচার ক্রস-চেক করে। যদি ফাংশন প্রোটোটাইপ না দেওয়া থাকে, তবে প্রোগ্রাম কম্পাইল হতে পারে কিছু ওয়ার্নিংসহ, এবং কখনো কখনো অদ্ভুত আউটপুট দিতে পারে।
যদি কোনো ফাংশন কল করা হয় কিন্তু তার বডি এখনো ডিফাইন করা নেই (বादে ডিফাইন করা আছে), তবে কম্পাইলার ফাংশন ও তার সিগনেচার খুঁজে পায় না। সেক্ষেত্রে ফাংশন প্রোটোটাইপ লাগে। যদি ফাংশন আগে ডিফাইন করা থাকে, তবে প্রোটোটাইপ লাগে না।
উদাহরণ: প্রোটোটাইপ ছাড়া (ওয়ার্নিং সহ)
#include <stdio.h>
int main() {
function(50);
}
void function(int x) {
printf("The value of x is: %d", x);
}
আউটপুট
The value of x is: 50
কিন্তু ওয়ার্নিং আসে:
[Warning] conflicting types for 'function' [Note] previous implicit declaration of 'function' was here
উদাহরণ: প্রোটোটাইপ সহ (নো ওয়ার্নিং)
#include <stdio.h>
void function(int); // প্রোটোটাইপ
int main() {
function(50);
}
void function(int x) {
printf("The value of x is: %d", x);
}
আউটপুট
The value of x is: 50