মডিউল ১৫-২ঃ কল বাই ভেলু
একটি ফাংশনের মধ্যে যখন আমরা কোন ভেরিয়েবল পাস করি তখন সেটি পাস বাই ভেলু হিসেবে যায়। ওই ফাংশনে পাস করার পর ওই ভেলুতে কোন চেঞ্জ করলে সেটি মেইন ফাংশন থেকে চেঞ্জ হয়ে যায় না। ভেলুটি পুরোপুরি একটি ভিন্ন ভেরিয়েবল হিসেবে পাস হয়।
কোডটি রান করলে দেখতে পারব x এর মান ১০ প্রিন্ট হয়েছে। যদিও প্রিন্ট করার আগে আমরা একটি ফাংশন কল করে সেই ফাংশনে x কে পাঠিয়ে দিয়েছিলাম এবং সেই ফাংশনের মধ্যে x এর মান চেঞ্জ করে দিয়ে ১০০ করে দিচ্ছিলাম। তারপরও ফাংশন কল হওয়া শেষে যখন x প্রিন্ট করা হচ্ছে তখন দেখা গেল x এর ভেলু চেঞ্জ হয়নি। কারন মেইন এর x এবং ফাংশনের x দুটি ভিন্ন ভেরিয়েবল। আমরা যদি দুটি ভেরিয়েবল এর এড্রেস প্রিন্ট করে দেখিঃ
কোডটি রান করলে দেখব দুই ভেরিয়েবল এর দুটি ভিন্ন এড্রেস প্রিন্ট হয়েছে। এতে বুঝা গেল ফাংশনের মধ্যে ভেলু হিসেবে পাস করলে মেমরিতে দুটি আলাদা আলাদা ভেরিয়েবল হিসেবে থাকে।
Last updated