সি প্রোগ্রামিং এ “scanf(“%d”, &x )”এ কেনো “&” ব্যবহার করা হয় ( Why do we use “&” in “scanf(“%d”, &x)” )?

যেকোন ভেরিয়েবল এর  আগে & বসালে, সেই ভেরিয়েবল এর মেমরি অ্যাড্রেস কে নির্দেশ করে। আর scanf() ফাংশনের  মধ্যমে ইউজার এর কাছ থেকে ইনপুট নিয়ে ভ্যারিয়েবল এর  মেমোরি লোকেশন এ রাখা হয়। আর এই কারণেই ভেরিয়েবল এর আগে & ব্যবহার করা হয়।

Example 1:

#include

int main()
{
int x;
scanf(“%d”, &x);

printf(“%d”,x);
return 0;
}

উপরের উদাহরনে, scanf(“%d”, &x); এই ফাংশনটাতে &x এর মাধ্যমে x ভেরিয়েবল এর লোকেশনকে পয়েন্ট করে। সহজ কথায়, x হচ্ছে মান আর &x হচ্ছে মেমরিতে অবস্থান। 

scanf(“%d”, &x); এই ফাংশনটাতে &x এর বদলে যদি x ব্যবহার করা হয় তবে প্রোগ্রামটি রান করবে না । কারণ শুধু x কোন মেমরি লোকেশন কে পয়েন্ট করে না। তাই scanf(“%d”, x); কাজ করবে না।