কম্পিউটার টিউটোরিয়াল

C ভাষায় ফাংশন রিটার্ন (Function Return) কী?


একটি ফাংশন হল একটি স্বয়ংসম্পূর্ণ ব্লক যা একটি নির্দিষ্ট টাস্ক সম্পাদন করে।

C ভাষায় ফাংশনের সুবিধাগুলো নিম্নরূপ:

  • পুনরুৎপাদনযোগ্যতা (Reusability)

  • বড় প্রোগ্রামের দৈর্ঘ্য কমানো যায়।

  • ভুল ফাংশন কোথায় সেটি সহজে খুঁজে বের করা যায়।

  • টপ-ডাউন মডুলার প্রোগ্রামিং সুবিধা করে।

উদাহরণ

ফাংশন সংক্রান্ত C প্রোগ্রাম নিচে দেওয়া হল:

#include  /* ফাংশন প্রোটোটাইপ */ myfunc(); main(){    myfunc(); } /* ফাংশন ডেফিনিশন */ myfunc(){    printf("Hello\n"); }

এখানে,

  • ক্যালকুলেশন-এ, আমরা সাধারণত একটি ফাংশন থেকে একটি মান রিটার্ন করার আশা করি। কিন্তু, এটি আর্গুমেন্ট গ্রহণ করতে পারে বা নাও পারে।

  • এই রিটার্ন ভ্যালুর টাইপ int, float, char বা অন্য কিছু হতে পারে।

  • ফাংশনের ডিফল্ট টাইপ হল ইন্টিজার।

উদাহরণ

ফাংশন সংক্রান্ত আরেকটি প্রোগ্রাম নিচে দেওয়া হল:

int total(){    int a, b, c;    a = 10;    b = 20;    c = a + b;    return c; // এটি c মান রিটার্ন করে অর্থাৎ ফলাফল প্রিন্ট করে }

আউটপুট

উপরের প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যাবে:

30

দুই ধাপ লিখার বদলে,

c = a + b; return c;

আমরা একক ধাপে প্রতিস্থাপন করতে পারি যেমন return a+b;

যদি আপনি একটি ফাংশনে মান রিটার্ন করা ভুলে যান, অধিকাংশ C কম্পাইলারে সতর্কবার্তা বার্তা আসে। এই বার্তা সতর্ক করে যে আপনাকে অবশ্যই একটি মান রিটার্ন করতে হবে। সতর্কতা প্রোগ্রাম এক্সিকিউশন বন্ধ করতে পারে না কিন্তু এরর বন্ধ করে।

উদাহরণ প্রোগ্রাম

রিটার্ন ফাংশনের জন্য C প্রোগ্রাম নিচে দেওয়া হল:

int main(){    ---    ---    ---    return 0; }

ইন্টিজার টাইপের ডিফল্ট রিটার্ন ভ্যালু হল ০।

যদি আপনি main() ফাংশনে return 0 বা অন্য কোনো মান না রাখেন, ০ অটোমেটিক্যালি রিটার্ন হবে।

যদি আপনি আপনার ফাংশনে একটি int মান রিটার্ন করতে চান, ফাংশন হেডারে রিটার্ন ভ্যালু মেনশন করা পছন্দনীয়।

ফাংশন থেকে রিটার্ন

একটি ফাংশন রিটার্ন স্টেটমেন্ট দিয়ে একটি একক মান রিটার্ন করে।

যদি ফাংশনের ভেতরে ভেরিয়েবলগুলোতে পরিবর্তন করা হয়, তবে সেগুলো সেই ফাংশনের জন্য লোকাল। একটি কলিং ফাংশনের ভেরিয়েবলগুলো একটি কলড ফাংশনের অ্যাকশন দ্বারা প্রভাবিত হয় না।

কলিং ফাংশন কলড ফাংশন দ্বারা রিটার্ন করা মানকে উপেক্ষা করতে বেছে নিতে পারে। উদাহরণস্বরূপ, printf এবং scanf-এর রিটার্ন ভ্যালু সাধারণত উপেক্ষা করা হয়।

একটি ফাংশন দ্বারা রিটার্ন করা মান একটি আরও জটিল এক্সপ্রেশনে ব্যবহার করা হয়, অথবা একটি ভেরিয়েবলে অ্যাসাইন করা হয়।

  1. C ভাষায় strncpy() ফাংশন কী?

  2. C ভাষায় strcmp() ফাংশন কী?

  3. C ভাষায় strcpy() ফাংশন কী?

  4. সি ভাষায় malloc ফাংশন কী?