যদি type name[count]কোনও ফাংশনে এক্সপ্রেশন লেখা থাকে তবে আপনি সি সংকলককে স্ট্যাক ফ্রেম sizeof(type)*countবাইটে বরাদ্দ করতে এবং অ্যারের মধ্যে প্রথম উপাদানটির ঠিকানা গণনা করতে বলুন ।
যদি অভিব্যক্তিটি type name[count]সমস্ত ফাংশনগুলির বাইরে লিখিত হয় এবং সংজ্ঞাগুলি নির্দেশ করে তবে আপনি সি কম্পাইলারকে ডেটা সেগমেন্ট sizeof(type)*countবাইটে বরাদ্দ করতে এবং অ্যারের মধ্যে প্রথম উপাদানটির ঠিকানা গণনা করতে বলে।
nameআসলে ধ্রুবক বস্তু যা অ্যারের প্রথম উপাদানটির ঠিকানা সঞ্চয় করে এবং প্রতিটি বস্তু যা কিছু মেমরির ঠিকানা সঞ্চয় করে তাকে পয়েন্টার বলা হয়, সুতরাং এটি কারণ যা আপনি nameঅ্যারের চেয়ে পয়েন্টার হিসাবে বিবেচনা করেন। নোট করুন যে সি তে অ্যারেগুলি কেবল পয়েন্টারগুলির মাধ্যমেই অ্যাক্সেস করা যায়।
যদি countকোনও ধ্রুবক অভিব্যক্তি যা শূন্যকে মূল্যায়ণ করে তবে আপনি সি সংকলককে স্ট্যাক ফ্রেম বা ডেটা বিভাগে শূন্য বাইট বরাদ্দ করতে এবং অ্যারের মধ্যে প্রথম উপাদানটির ঠিকানা ফেরত দিতে বলুন, তবে এটি করার ক্ষেত্রে সমস্যাটি হ'ল প্রথম উপাদানটি শূন্য দৈর্ঘ্যের অ্যারের উপস্থিতি নেই এবং আপনি অস্তিত্ব নেই এমন কোনও ঠিকানার গণনা করতে পারবেন না।
এটি যৌক্তিক যে উপাদান নং। দৈর্ঘ্যের অ্যারে count+1বিদ্যমান নেই count, সুতরাং এই কারণেই সি সংকলকটি কোনও ফাংশনের ভিতরে এবং বাইরে ভেরিয়েবল হিসাবে শূন্য দৈর্ঘ্যের অ্যারে সংজ্ঞায়িত করতে নিষেধ করে, কারণ nameতখনকার বিষয়বস্তু কী ? nameঠিক ঠিক ঠিকানা কি ?
যদি pপয়েন্টার হয় তবে এক্সপ্রেশনটি p[n]সমান*(p + n)
যেখানে ডান দিকের অ্যাসিরিস্ক * পয়েন্টারের ডেরিফারেন্স অপারেশন, যার অর্থ দ্বারা চিহ্নিত p + nমেমোরিটি অ্যাক্সেস করা বা মেমরিটি অ্যাক্সেস করতে পারে যার ঠিকানা সঞ্চিত আছে p + n, যেখানে p + nপয়েন্টার এক্সপ্রেশন রয়েছে, এটি ঠিকানাটি নিয়ে যায় pএবং এই ঠিকানায় সংখ্যাকে nগুণিত করে পয়েন্টারের ধরণের আকার p।
একটি ঠিকানা এবং একটি নম্বর যুক্ত করা সম্ভব?
হ্যাঁ এটি সম্ভব, কারণ ঠিকানাটি স্বাক্ষরযুক্ত পূর্ণসংখ্যাটি হেক্সাডেসিমাল স্বরলিপিতে সাধারণত উপস্থাপিত হয়।