পৃথক এলিমেন্ট পাস করা (Call by Value)
অ্যারের নির্দিষ্ট এলিমেন্ট (সাবস্ক্রিপ্টসহ) ফাংশন কলে আর্গুমেন্ট হিসেবে পাস করা হয়। ফাংশন ডেফিনিশনে সাধারণ ভেরিয়েবল হিসেবে রিসিভ করা হয়।
সিনট্যাক্স
// কল
func(arr[0], arr[4]);
// ডেফিনিশন
void func(int first, int last) { ... }
উদাহরণ ১: প্রথম ও শেষ এলিমেন্ট প্রিন্ট
#include <stdio.h>
void display(int first, int last);
int main() {
int a[5], i;
printf("Enter 5 elements: ");
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
display(a[0], a[4]); // পৃথক এলিমেন্ট পাস
return 0;
}
void display(int a, int b) {
printf("First element = %d\n", a);
printf("Last element = %d\n", b);
}
আউটপুট
Enter 5 elements: 10 20 30 40 50 First element = 10 Last element = 50
উদাহরণ ২: ৬টি এলিমেন্টের প্রথম ও শেষ
#include <stdio.h>
void arguments(int first, int last);
int main() {
int a[10], i;
printf("Enter 6 elements: ");
for (i = 0; i < 6; i++)
scanf("%d", &a[i]);
arguments(a[0], a[5]);
return 0;
}
void arguments(int a, int b) {
printf("First = %d\n", a);
printf("Last = %d\n", b);
}
আউটপুট
Enter 6 elements: 1 2 3 4 5 6 First = 1 Last = 6
বनाम: পুরো অ্যারে পাস করা
| দিক | পৃথক এলিমেন্ট | পুরো অ্যারে |
|---|---|---|
| সিনট্যাক্স | func(a[0], a[2]) | func(a) |
| ফাংশন প্যারামিটার | সাধারণ ভেরিয়েবল | অ্যারে প্যারামিটার (পয়েন্টার) |
| মূল অ্যারে মডিফাই | সম্ভব নয় (কপি পাস হয়) | সম্ভব (রেফারেন্স পাস হয়) |
| উপযোগিতা | কয়েকটি মান পাস করলে | পুরো অ্যারে প্রসেস করলে |