আমি জানি প্রশ্নের উত্তর হয়েছে, কিন্তু আমি এই ব্যাখ্যাটি ভাগ করে নিতে পারিনি।
আমি কম্পাইলার ডিজাইনের মূলনীতির কথা মনে করি, আসুন ধরে নেওয়া যাক যে এটি একটি ইনট অ্যারে এবং ইন্টের আকার 2, এবং এর জন্য বেস ঠিকানা 1000 হয় is
কিভাবে a[5]
কাজ করবে ->
Base Address of your Array a + (index of array *size of(data type for array a))
Base Address of your Array a + (5*size of(data type for array a))
i.e. 1000 + (5*2) = 1010
এই ব্যাখ্যার কারণেই অ্যারেতে নেতিবাচক সূচকগুলি সি-তে কাজ করে reason
আমি যদি a[-5]
এটি অ্যাক্সেস করি তবে তা আমাকে দেবে
Base Address of your Array a + (index of array *size of(data type for array a))
Base Address of your Array a + (-5 * size of(data type for array a))
i.e. 1000 + (-5*2) = 990
এটি 990 অবস্থানে আমার আপত্তিটি ফিরিয়ে দেবে this এই যুক্তি দ্বারা আমরা সিটিতে অ্যারেতে নেতিবাচক সূচীগুলি অ্যাক্সেস করতে পারি
somearray-2
শুরু থেকেsomearray
শেষের শেষ পর্যন্ত 1 টির মধ্যে না থাকলে কেবল কম্পিউটিং অপরিজ্ঞাত হয় ined