পয়েন্টার এবং অ্যারের মধ্যে পার্থক্য

Anonim

পয়েন্টার বনাম অ্যারে

একটি পয়েন্টার একটি ডাটা টাইপ যা একটি মেমরি অবস্থান (যেমন একটি পয়েন্টার ভেরিয়েবলটি একটি মেমরি অবস্থানের একটি ঠিকানা সংরক্ষণ করে যেখানে কিছু তথ্য সংরক্ষিত থাকে).অরগুলি হল উপাদানগুলি সংগ্রহ করার জন্য সবচেয়ে বেশি ব্যবহৃত ডেটা স্ট্রাকচার। অধিকাংশ প্রোগ্রামিং ল্যাঙ্গুয়েজ এড়ায় অ্যারে এবং এক্সেস উপাদানের সহজলভ্য পদ্ধতি প্রদান করে। <

একটি পয়েন্টার কি?

একটি পয়েন্টার একটি ডাটা টাইপ যা মেমরি অবস্থানের একটি ঠিকানা সংরক্ষণ করে যেখানে কিছু তথ্য সংরক্ষণ করা হয়। অন্য কথায়, একটি পয়েন্টার একটি মেমরি অবস্থানের জন্য রেফারেন্স। পয়েন্টার দ্বারা উল্লেখ করা মেমরি অবস্থানে সঞ্চিত ডেটা অ্যাক্সেস করা হয় dereferencing বলা হয়। পুনরাবৃত্তিমূলক অপারেশন যেমন raging ট্র্যাশিং গাছ / স্ট্রিং, টেবিল লুকানো, ইত্যাদি, পয়েন্টার ব্যবহার করে কর্মক্ষমতা উন্নতি হবে। এটি পয়েন্টারগুলি দ্বারা নির্দেশিত ডাটাগুলি অনুলিপি করা এবং অনুলিপি করা, কপি করা এবং অ্যাক্সেসের তুলনায় খুবই কম। একটি নল পয়েন্টার একটি পয়েন্টার যা কিছু নির্দেশ করে না। জাভাতে, একটি নল পয়েন্টার অ্যাক্সেস একটি NullPointerException নামে একটি ব্যতিক্রম উত্পন্ন হবে।

একটি অ্যারে কি?

চিত্র -1 এ বর্ণিত, সাধারণত একটি কোডের একটি অংশ হয় যা একটি অ্যারের মানগুলিকে ঘোষণা এবং অর্পণ করতে ব্যবহৃত হয়। চিত্র 2 একটি অ্যারে মেমরির মত চেহারা হবে কিভাবে চিত্রিত।

স্বনির্ধারণ মান [5];

মান [0] 100 =;

মান [1] = 101;

মান [2] 102 =;

মান [3] = 103;

মান [4] 104 =;

চিত্র -1: একটি অ্যারের

100

101 102 103 104 সূচক: 0
1 2 < 3 4 চিত্র 2: মেমরির মধ্যে সংরক্ষিত অ্যারের উপরের কোডটি একটি অ্যারের সংজ্ঞায়িত করে যা 5 পূর্ণসংখ্যা সংরক্ষণ করতে পারে এবং সেগুলি 0 থেকে 4 পর্যন্ত সূচকগুলি ব্যবহার করে অ্যাক্সেস করা যায়। একটি অ্যারেরের গুরুত্বপূর্ণ বৈশিষ্ট্য হলো, সম্পূর্ণ অ্যারে মেমরি একক ব্লক হিসাবে বরাদ্দ করা হয় এবং প্রতিটি উপাদান অ্যারের মধ্যে তার নিজস্ব স্থান পায়। একবার একটি অ্যারে সংজ্ঞায়িত করা হয়, তার আকার সংশোধন করা হয়। তাই যদি আপনি কম্পাইল সময় অ্যারের মাপ সম্পর্কে নিশ্চিত না হয়, আপনি একটি বড় যথেষ্ট অ্যারে সংজ্ঞায়িত করতে হবে নিরাপদ পার্শ্ব হতে। কিন্তু, বেশিরভাগ সময়, আমরা আসলে আমরা বরাদ্দকৃত বস্তুর চেয়ে কম সংখ্যক উপাদান ব্যবহার করতে যাচ্ছি। সুতরাং মেমরি একটি উল্লেখযোগ্য পরিমাণ আসলে নষ্ট হয়। অন্য দিকে যদি "বড় বড় অ্যারে" আসলে যথেষ্ট বড় না হয়, প্রোগ্রাম ক্র্যাশ হবে।

পয়েন্টার এবং অ্যারে মধ্যে পার্থক্য কি?

একটি পয়েন্টার একটি ডাটা টাইপ যা মেমরি অবস্থানের একটি ঠিকানা সংরক্ষণ করে যেখানে কিছু ডেটা সংরক্ষণ করা হয়, যখন অ্যারেগুলি উপাদানগুলির একটি সংগ্রহ সঞ্চয় করতে সবচেয়ে বেশি ব্যবহৃত ডেটা গঠন। সি প্রোগ্রামিং ভাষার মধ্যে, অ্যারে ইনডেক্সিং পয়েন্টার অ্যারেটিম্যাটিক ব্যবহার করে (i। এরি এক্সের ith উপাদান * * (x + i) সমান হবে)।অতএব C তে, পয়েন্টারগুলির সেট যা মেমরি অবস্থার একটি সেটকে নির্দেশ করে যা পরপর হয়, একটি অ্যারে হিসাবে চিন্তা করা যেতে পারে। উপরন্তু, sizeof অপারেটর পয়েন্টার এবং অ্যারে কাজ করে কিভাবে একটি পার্থক্য আছে। যখন একটি অ্যারে প্রয়োগ করা হয়, sizeof অপারেটর অ্যারের পুরো আকার ফিরে আসবে, যখন একটি পয়েন্টার প্রয়োগ করা হবে, এটি পয়েন্টার মাত্র আকার ফিরে আসবে।