(In Bengali) C – Functions

আজকে আমরা এই টিটোরিয়ালে ফাংশনের সঙ্গা এবং ফাংশনকে কিভাবে স্বীকৃতি দেয়া হয় তা নিয়ে আলোচনা করব। আপনাদের আগের টিউটোরিয়ালে বলছিলাম সি প্রগ্রামিং শিখতে আপনাকে কিছুটা হলেও ইংরেজি শিখতে হবে। নিচে আমরা কিছু কিছু ইংরেজী শব্দ পরিবরতম করি নাই কারন তা ইংরেজী থেকে বাংলায় প্রবেশ করেছে। আসুন জেনে নেই কিভাবে আমরা একটি ফাংশন সম্পর্কে জানবো।

একটি ফাংশন যা অনেক গুলো গ্রুপ এর বিবৃতি যা সকলে একত্রে কাজ করে। প্রত্যেক সি প্রোগ্রাম এ কমপক্ষে একটি ফাংশন থাকে যা main(), এবং সব সবচেয়ে তুচ্ছ প্রোগ্রাম অতিরিক্ত ফাংশন নির্ধারণ করতে পারবেন.
আপনি পৃথক ফাংশন মধ্যে আপনার কোড ভাগ করতে পারেন. আপনি বিভিন্ন ফাংশন মধ্যে আপনার কোড বিভক্ত কিভাবে আপনি আপ হয়, কিন্তু যুক্তি বিভাগ সাধারণত, তাই প্রতিটি ফাংশন একটি নির্দিষ্ট টাস্ক সম্পাদন করে হয়.
একটি ফাংশন ঘোষণা একটি ফাংশন এর নাম, রিটার্ন টাইপ, এবং পরামিতি সম্পর্কে কম্পাইলার বলে. একটি functiondefinition ফাংশন প্রকৃত শরীর উপলব্ধ করা হয়.
সি মান লাইব্রেরি আপনার প্রোগ্রাম কল করতে পারেন যে অনেক বিল্ট ইন ফাংশন প্রদান করে. উদাহরণস্বরূপ, ফাংশন strcat () অন্য অবস্থান এবং আরো অনেক ফাংশন এক মেমোরি কপি দুই স্ট্রিং ফাংশন memcpy () কনক্যাটেনেট. একটি ফাংশন একটি পদ্ধতি বা একটি উপ-রুটিন বা একটি পদ্ধতি, বিভিন্ন নামের সাথে পরিচিত।
Defining a Function:
অনুসরণ হিসাবে সি প্রোগ্রামিং ভাষায় একটি ফাংশন সংজ্ঞা সাধারণ ফর্ম:
return_type function_name( parameter list )
{
body of the function
}
সি প্রোগ্রামিং ভাষা একটি ফাংশন সংজ্ঞা একটি ফাংশন হেডার এবং একটি ফাংশন শরীরের নিয়ে গঠিত. এখানে একটি ফাংশন সমস্ত অংশ:
• Return Type: একটি ফাংশন একটি মান ফিরে যেতে পারে. Return_type ফাংশন প্রদান করে মান ডাটা টাইপ. কিছু ফাংশন একটি মান ফিরে ছাড়া পছন্দসই অপারেশন সম্পাদন. এই ক্ষেত্রে, return_type শব্দ অকার্যকর হয়.
• Function Name: এই ফাংশন প্রকৃত নাম. ফাংশন নাম এবং পরামিতি তালিকা একসঙ্গে ফাংশন স্বাক্ষর গঠন করে.
• Parameters: একটি প্যারামিটার একটি স্থানধারক ভালো হয়. একটি ফাংশন প্রার্থনা করা হয়, আপনি পরামিতি একটি মান পাস. এই মান হিসাবে প্রকৃত পরামিতি অথবা যুক্তি উল্লেখ করা হয়. পরামিতি তালিকা একটি ফাংশন পরামিতি টাইপ, আদেশ, এবং সংখ্যা বোঝায়. পরামিতি ঐচ্ছিক; যে, একটি ফাংশন কোন প্যারামিটার থাকতে পারে.
• Function Body: ফাংশন শরীরের ফাংশন কি নির্ধারণ করুন যে বিবৃতির একটি সংগ্রহ রয়েছে.
Example:
একটি ফাংশন জন্য সোর্স কোড সর্বোচ্চ বলা হল (). এই ফাংশন দুটি পরামিতি num1 ও num2 নেয় এবং দুই মধ্যে সর্বোচ্চ আয়:
/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
Function Declarations:
একটি ফাংশন ঘোষণা একটি ফাংশন নাম এবং কিভাবে ফাংশন কল সম্পর্কে কম্পাইলার বলে. ফাংশন প্রকৃত শরীর আলাদাভাবে সংজ্ঞায়িত করা যায়.
একটি ফাংশঙ্কে কয়েকটি অংশে বর্ণনা করা যায়ঃ
return_type function_name( parameter list );
উপরে বর্ণিত ফাংশন সর্বোচ্চ () জন্য, নিম্নলিখিত ভাবে ফাংশন বর্ণনা করা হয়:
int max(int num1, int num2);
পরামিতি নাম বৈধ ঘোষণা করা হয় শুধুমাত্র তাদের টাইপ যাতে নিম্নলিখিত প্রয়োজন বোধ করা হয় ফাংশন ঘোষণা গুরুত্বপূর্ণ নয়:
int max(int, int);
আপনি এক উৎস ফাইলের মধ্যে একটি ফাংশন নির্ধারণ এবং আপনি অন্য ফাইলে যে ফাংশন কল যখন ফাংশন ঘোষণা প্রয়োজন বোধ করা হয়. যেমন ক্ষেত্রে আপনি ফাংশন আহ্বান ফাইল শীর্ষে ফাংশন ঘোষণা করা উচিত.
Calling a Function:
একটি সি ফাংশন তৈরি করার সময়, আপনি ফাংশন কি আছে কি একটি সংজ্ঞা দিতে. একটি ফাংশন ব্যবহার করতে, আপনাকে সংজ্ঞায়িত কাজ করার যে ফাংশন কল করতে হবে। একটি প্রোগ্রাম একটি ফাংশন কল করার সময়, প্রোগ্রাম নিয়ন্ত্রণ ফাংশন বলা স্থানান্তর করা হয়। একটি ফাংশন বলা টাস্ক নির্ধারিত কর্ম করে এবং তার ফিরতি বিবৃতি মৃত্যুদন্ড কার্যকর করা হয় বা যখন তার কার্যকারিতা শেষ বন্ধ যুগল পৌঁছেছেন হয়। এটা প্রধান প্রোগ্রাম প্রোগ্রাম নিয়ন্ত্রণ ফেরৎ।একটি ফাংশন কল করার জন্য, আপনি কেবল ফাংশন নাম সহ পরামিতি, পাস করতে হবে, এবং ফাংশন তারপর আপনি ফিরে মান সংরক্ষণ করতে পারেন, একটি মান প্রদান করে।
উদাহরণস্বরূপ:
#include <stdio.h>

/* function declaration */
int max(int num1, int num2);

int main ()
{
/* local variable definition */
int a = 100;
int b = 200;
int ret;

/* calling a function to get max value */
ret = max(a, b);

printf( "Max value is : %d\n", ret );

return 0;
}

/* function returning the max between two numbers */
int max(int num1, int num2)
{
/* local variable declaration */
int result;

if (num1 > num2)
result = num1;
else
result = num2;

return result;
}
I kept max() function along with main() function and compiled the source code. While running final executable, it would produce the following result:
Max value is : 200
Function Arguments:
একটি ফাংশন আর্গুমেন্ট ব্যবহার করা হয়, তাহলে এটি আর্গুমেন্ট মান গ্রহণ ভেরিয়েবল ঘোষণা করা উচিত. এই ভেরিয়েবল ফাংশন আনুষ্ঠানিক পরামিতি বলা হয়.The formal parameters behave like other local variables inside the function and are created upon entry into the function and destroyed upon exit.
একটি ফাংশন কলিং, যখন আর্গুমেন্ট একটি ফাংশন প্রেরণ করা যেতে পারে যে দুটি উপায় আছে:
Call Type Description
Call by value
This method copies the actual value of an argument into the formal parameter of the function. In this case, changes made to the parameter inside the function have no effect on the argument.
Call by reference
This method copies the address of an argument into the formal parameter. Inside the function, the address is used to access the actual argument used in the call. This means that changes made to the parameter affect the argument.

ডিফল্টরূপে, সি আর্গুমেন্ট পাস মান দ্বারা কল ব্যবহার করে. সাধারণভাবে, এই ফাংশন একই পদ্ধতি ব্যবহার () সর্বোচ্চ আহ্বান করার সময় একটি ফাংশন মধ্যে যে কোড ফাংশন কল ব্যবহৃত আর্গুমেন্ট পরিবর্তন এবং উল্লিখিত উদাহরণ উপরে না করতে পারেন।

Permanent link to this article: http://bangla.sitestree.com/in-bengali-c-functions/