মডিউল ১৪-১ঃ ফাংশন কি?
ফাংশনকে আমরা একটি রোবট এর মতো চিন্তা করতে পারি। এই ফাংশনকে কিছু ইন্সট্রাকশন এবং ইনপুট দেওয়া হলে ফাংশন সেই অনুযায়ী কাজ করে আউটপুট রিটার্ন করতে পারে। আমাদের যদি কোডে কোন কাজ বারবার করতে হয় তাহলে আমরা সেই কাজটি একটি ফাংশনের মধ্যে লিখে রাখতে পারি। তাহলে যখনি আমরা সেই ফাংশনকে কল করব তখনি সেই কাজটি ফাংশন আমাকে করে আউটপুট রিটার্ন করে দিবে। তাহলে আমাদেরকে ওই কাজটি করার কোড বারবার লিখতে হবে না।
সি প্রোগ্রামিং এ একটি ফাংশনের রিটার্ন টাইপ থাকে। ফাংশনটি কোন টাইপের ডাটা রিটার্ন করবে তা বলা থাকে রিটার্ন টাইপে। ফাংশনের একটি ইউনিক ভেলিড নাম থাকে। একটি সি কোডে আমরা যেমন একই নামের ভেরিয়েবল দুইবার ডিক্লেয়ার করতে পারি না, প্রতিটি ভেরিয়েবল এর নাম ইউনিক হতে হয়। ফাংশন এর নামও ঠিক তেমনি ইউনিক হতে হয়। তারপর ফাংশনে কিছু প্যারামিটার থাকে। যেখানে আমরা ফাংশনের ইনপুটগুলো দেই ভেরিয়েবল হিসেবে। ফাংশন লিখতে হয় মেইন ফাংশনের উপরে। মেইন ফাংশনের নিচেও লিখা যায় কিন্তু সেক্ষেত্রে মেইন ফাংশনের উপরে ফাংশনটি ডিক্লেয়ার করে আসতে হয়। সি প্রোগ্রামিং এ একটি ফাংশন ডিক্লেয়ার করার সিন্টেক্সঃ return_type function_name ( parameters ) { // code return statement; }
ফাংশনটি যদি কোন কিছু রিটার্ন না করে তাহলে সেটির রিটার্ন টাইপ হিসেবে void লিখা হয়। যদি কোন প্যারামিটার না থাকে তাহলে প্যারামিটার এর জায়গাটি ফাঁকা রাখা যায় অথবা void লিখে রাখা যায়। যদি ফাঁকা থাকে তাহলে জোর করে প্যারামিটার দেওয়া হলেও সেটি ইগনোর করবে আর void লিখা থাকলে প্যারামিটার দেওয়া হলে এরোর দিবে।
এবার আমরা দুটি সংখ্যা যোগ করি ফাংশন ব্যাবহার করেঃ
এখানে আমরা যোগ করার জন্য একটি ফাংশন লিখেছি। যেটি ইনপুট হিসেবে দুটি সংখ্যা নিবে। তারপর তাতে সেই দুটি সংখ্যা যোগ করার ইন্সট্রাকশন দেওয়া হয়েছে। যোগ শেষে যোগফলটি রিটার্ন করে দিবে। এই ফাংশনকে কল করে যেকোন দুটি সংখ্যা দেওয়া হলে সে তাদের যোগফল রিটার্ন করবে। এভাবে করে আমরা যেকোন ইন্সট্রাকশন দিয়ে ফাংশন লিখতে পারি।
ফাংশন মূলত ৪ প্রকার হয়ঃ ১। রিটার্ন + প্যারামিটার ২। রিটার্ন + নো প্যারামিটার ৩। নো রিটার্ন + প্যারামিটার ৪। নো রিটার্ন + নো প্যারামিটার
Last updated