পয়েন্টারগুলির একটি অ্যারে এবং সি-তে একটি অ্যারেরে পয়েন্টারের মধ্যে কোনও পার্থক্য আছে কি?


উত্তর 1:

যেহেতু এখানে 6 টির মধ্যে একটির উত্তর প্রকৃতপক্ষে সিটিতে বিন্যাসের পয়েন্টার কেমন দেখাচ্ছে তাই আমি অন্যটি যুক্ত করব:

পয়েন্টারগুলির অ্যারে হ'ল একটি অ্যারে, যা পয়েন্টার ধারণ করে, যা অন্য কোনও কিছুকে নির্দেশ করে:

# অন্তর্ভুক্ত 
int প্রধান (শূন্য) {
  int a = 1, b = 2, c = 3, d = 4;
  int * এপ [4] = {& এ, & বি, & সি, & ডি}; // ইন পয়েন্টার অ্যারে
                                 // চার পয়েন্টার ধরে
  (অন্তর্নিহিত i = 0; i! = 4; ++ আমি)
    প্রিন্টফ ("% d", * এপ [i]);
}

ডেমো: [ওয়ান্ডবক্স] 三 へ (へ՞ ਊ՞) へ ハ ッ ハ

একটি অ্যারেতে পয়েন্টার হল একটি পয়েন্টার, যা একটি অ্যারেকে নির্দেশ করে, যা অন্য কিছু ধারণ করে:

# অন্তর্ভুক্ত 
int প্রধান (শূন্য) {
  int a [4] = {1,2,3,4};
  int (* পা) [4] = & a; // চারটি ints এর অ্যারে পয়েন্টার

  (অন্তর্নিহিত i = 0; i! = 4; ++ আমি)
    প্রিন্টফ ("% ডি", (* পা)) [i]);
}

ডেমো: [ওয়ান্ডবক্স] 三 へ (へ՞ ਊ՞) へ ハ ッ ハ

পয়েন্টারগুলির একটি অ্যারেতে আপনার পয়েন্টারও থাকতে পারে:

int a = 1, b = 2, c = 3, d = 4;
int * এপ [4] = {& এ, & বি, & সি, & ডি}; // পয়েন্টার অ্যারে
int * (* প্যাপ) [4] = & এপি; // পয়েন্টার অ্যারে পয়েন্টার

এবং অ্যারেগুলিতে পয়েন্টারের একটি অ্যারে:

int a [3] = {1,2,3}, খ [3] = {4,5,6}, সি [3] = {7,8,9};
int (* আপা [3]) [3] = {& এ, & বি, & সি}; // অ্যারে পয়েন্টার এর অ্যারে

এবং অ্যারে পয়েন্টার একটি পয়েন্টার

int a [4] = {1,2,3,4};
int (* পা) [4] = & a; // চারটি ints এর অ্যারে পয়েন্টার
int (** পিপিএ) [4] = & পা; // চারটি ints এর অ্যারে পয়েন্টার

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

int a = 1, b = 2, c = 3, d = 4;
ইনট * অপ [2] [2] = {{& এ, & বি}, {ও সি, & ডি}}; // পয়েন্টারের অ্যারের অ্যারে

ইত্যাদি ইত্যাদি "অ্যারের" এবং "পয়েন্টার টু" অনির্দিষ্টকালের জন্য রচনাযোগ্য।


উত্তর 2:

Yup.There একটি পার্থক্য আছে।

অ্যারে দিয়ে শুরু করা যাক।

যখন একটি অ্যারে ঘোষণা করা হয়, আমরা কেবল অ্যারের ভিত্তি ঠিকানাটি জানতে পারি।

int a [10];

এখানে ‘ক’ এর অ্যারের সূচনা ঠিকানা রয়েছে।

হ্যাঁ এটি পয়েন্টার, আরও নির্দিষ্টভাবে একটি ধ্রুবক পয়েন্টার যা একটি [0] এ নির্দেশ করে।

এখন একটি অ্যারে পয়েন্টার দেখতে দিন।

মূলত আপনি একটি অ্যারেতে পয়েন্টার পয়েন্ট করছেন।

int a [10];
int * পি;
p = a; // বা পি = & এ [0];

এখানে পি একটি .it নির্দেশ করে মানে আপনি পি ব্যবহারের উপাদানগুলিতে অ্যাক্সেস করতে পারবেন।

int i; int a [5] = {1, 2, 3, 4, 5}; int * p = a; // ইনট * পি = এবং এ [0] এর জন্য (i = 0; i <5; i ++) {প্রিন্টফ ("% ডি", * পি); পি ++,;}

এটি মূলত একটি অ্যারের উপাদানগুলি মুদ্রণ করে।

পয়েন্টারস এর অ্যারে এখন কিছু জটিল।

এটি প্রতিটি উপাদানের অ্যারে যা প্রতিটি পয়েন্টার।

অ্যারের প্রতিটি উপাদান মানে, বিভিন্ন মেমরি অবস্থানের দিকে ইঙ্গিত করে? আমি কী বলছি?

এখানে একটি উদাহরণ।

চর * নাম [3] = {"অ্যাডাম", "খ্রিস্ট", "ডেনিয়েল"

};


উত্তর 3:

সি-তে, একটি পয়েন্টার জাভা-র মতো উচ্চ স্তরের ভাষায় একটি মেমরি রেফারেন্সের সমান। সুতরাং আপনি একটি উচ্চ স্তরের ভাষায় মেমরি রেফারেন্সের অ্যারের অনুরূপ পয়েন্টারগুলির একটি অ্যারের কথা ভাবতে পারেন।

সি-তে একটি অ্যারে কেবল মেমরির একটানা অবরুদ্ধ। সুতরাং একটি অ্যারের পয়েন্টারটি কেবল অ্যারের মূল ঠিকানার পয়েন্টার বা উচ্চ স্তরের ভাষায় অ্যারের সূচক 0 এর একটি মেমরি রেফারেন্স হতে পারে (ধরে নিবেন যে আপনি বেস ঠিকানা থেকে শুরু করেছেন)।


উত্তর 4:

সি-তে, একটি পয়েন্টার জাভা-র মতো উচ্চ স্তরের ভাষায় একটি মেমরি রেফারেন্সের সমান। সুতরাং আপনি একটি উচ্চ স্তরের ভাষায় মেমরি রেফারেন্সের অ্যারের অনুরূপ পয়েন্টারগুলির একটি অ্যারের কথা ভাবতে পারেন।

সি-তে একটি অ্যারে কেবল মেমরির একটানা অবরুদ্ধ। সুতরাং একটি অ্যারের পয়েন্টারটি কেবল অ্যারের মূল ঠিকানার পয়েন্টার বা উচ্চ স্তরের ভাষায় অ্যারের সূচক 0 এর একটি মেমরি রেফারেন্স হতে পারে (ধরে নিবেন যে আপনি বেস ঠিকানা থেকে শুরু করেছেন)।


উত্তর 5:

সি-তে, একটি পয়েন্টার জাভা-র মতো উচ্চ স্তরের ভাষায় একটি মেমরি রেফারেন্সের সমান। সুতরাং আপনি একটি উচ্চ স্তরের ভাষায় মেমরি রেফারেন্সের অ্যারের অনুরূপ পয়েন্টারগুলির একটি অ্যারের কথা ভাবতে পারেন।

সি-তে একটি অ্যারে কেবল মেমরির একটানা অবরুদ্ধ। সুতরাং একটি অ্যারের পয়েন্টারটি কেবল অ্যারের মূল ঠিকানার পয়েন্টার বা উচ্চ স্তরের ভাষায় অ্যারের সূচক 0 এর একটি মেমরি রেফারেন্স হতে পারে (ধরে নিবেন যে আপনি বেস ঠিকানা থেকে শুরু করেছেন)।


উত্তর 6:

সি-তে, একটি পয়েন্টার জাভা-র মতো উচ্চ স্তরের ভাষায় একটি মেমরি রেফারেন্সের সমান। সুতরাং আপনি একটি উচ্চ স্তরের ভাষায় মেমরি রেফারেন্সের অ্যারের অনুরূপ পয়েন্টারগুলির একটি অ্যারের কথা ভাবতে পারেন।

সি-তে একটি অ্যারে কেবল মেমরির একটানা অবরুদ্ধ। সুতরাং একটি অ্যারের পয়েন্টারটি কেবল অ্যারের মূল ঠিকানার পয়েন্টার বা উচ্চ স্তরের ভাষায় অ্যারের সূচক 0 এর একটি মেমরি রেফারেন্স হতে পারে (ধরে নিবেন যে আপনি বেস ঠিকানা থেকে শুরু করেছেন)।