#প্রাথমিক ধারণা
প্রোগ্রামিং এর ভাষায় ফাংশন হল একটি নির্দিস্ট ধরনের কাজ করে এমন কতগুলো ইন্সট্রাকশনের সমষ্টি। আমরা সি তে কোন কিছু মনিটরে প্রিন্ট করে দেখাতে চাইলে printf()
ফাংশনটি ব্যবহার করি। printf()
আমাদের দেয়া লিখাটি নিয়ে সেটিকে মনিটরে দেখায়। কিংবা আমরা যদি কোন সংখ্যার বর্গমূল জানতে চাইলে তাহলে math.h
থেকে sqrt()
ফাংশনটি ব্যবহার করে সেটি জানতে পারি। এগুলোর সবগুলোই এক একটি ফাংশন। এই ফাংশনগুলো বিভিন্ন লাইব্রেরিতে দেওয়া আছে আমাাদের কাজকে সহজ করার জন্য। এর বাইরে আমরা যদি চাই আমাদের নির্দিষ্ট কোন কাজের জন্য একটি ফাংশন লিখতে হবে আমরা সেটিও করতে পারি।
প্রশ্ন আসতে পারে আমরা কেন নিজেরা ফাংশন লিখতে যাবো? ধরুন আপনাকে একটি বড় প্রোগ্রাম লিখতে হচ্ছে যেখানে বার বার আপনাকে কয়েকটি সংখ্যার গড় বের করতে হবে। গড় বের করার জন্য প্রদত্ত সংখ্যাগুলোকে যোগ করে মোট যতটি সংখ্যা আছে তা দিয়ে ভাগ করলেই আমরা গড় পাই। কিন্তু প্রোগ্রামের মধ্যে যতবার আপনাকে গড় বের করতে হবে প্রতিবার তার জন্য একই ধরনের কোড বার বার লিখাটা বেশ ঝামেলা। আর এভাবে লিখতে থাকলে প্রোগ্রামটির কোডের গঠন ও বেশ অগোছালো হয়ে যায়।
এই বিষয়টি আমরা সমাধান করতে পারি সহজেই গড় বের করার জন্য একটি ফাংশন লিখে। ফাংশন লিখলে আমরা একবারেই ঠিক করে দেব কিভাবে গড় হিসাব করতে হয় এবং তারপরে আমরা যেখানেই গড় বের করতে যাবো সেখানেই আমরা এই ফাংশনটি কল করতে পারবো এবং সহজেই গড় পেয়ে যাবো। একই সাথে আমাদের প্রগ্রামটির কোডও বেশ গোছানো থাকবে কারণ আমরা বার বার একই ধরনের কোড লিখবো না।
সি তে দুই ধরণের ফাংশন রয়েছে।
- লাইব্রেরি ফাংশন
pfintf(), sin(), sqrt()
- ইউজার ডিফাইনড ফাংশন
লাইব্রেরি ফাংশন গুলো আমরা সব সময়ই ব্যবহার করি কম বেশি। আমাদের এই অধ্যায়ের মূল আলোচনা হবে ইউজার ডিফাইনড ফাংশন নিয়ে।