ইন্ট * ক এর মধ্যে পার্থক্য কী; এবং int ** এ; সি তে?


উত্তর 1:

ধরুন আমরা নিই

int i;

int * a;

int ** খ;

এখন একটি পয়েন্টার যা i এর ঠিকানা সংরক্ষণ করে, এটি পয়েন্টার হিসাবে বলা হয় কারণ এটি কোনও ঠিকানা যা এটি এক প্রকারের…

ইন্ট * ক এটির পূর্ণাঙ্গ পরিবর্তনশীল যেহেতু আমার ঠিকানা সংরক্ষণ করতে পারে।

এখন ইনট ** বি দেখুন এটি একটি পয়েন্টারটির জন্য একটি পয়েন্টার যা আপনি এটি ইন্ট * (* বি) হিসাবে দেখতে পারেন এর অর্থ এটি একটি পয়েন্টার যা ইন্টিজার টাইপের অন্য পয়েন্টারের দিকে নির্দেশ করবে…।

মানে বি এর ঠিকানা সংরক্ষণ করবে।

সুতরাং আমরা তিনটি ভেরিয়েবলের মানগুলি নির্ধারণ করতে পারি:

i = 5;

একটি = & আমি;

খ = & একটি;

গুরুত্বপূর্ণ:

আপনি মুদ্রণ করা হলে আমি: 5 (মান) মুদ্রণ করা হবে।

আপনি যদি একটি মুদ্রণ করবেন: আমার ঠিকানা মুদ্রিত করা হবে।

আপনি যদি * a: 5 মুদ্রণ করেন তবে (মান) মুদ্রণ করা হবে।

যদি আপনি খ মুদ্রণ করবেন: একটি ঠিকানা মুদ্রিত করা হবে

যদি আপনি * খ: মুদ্রণ করবেন তবে আমার ঠিকানা মুদ্রিত হবে

যদি আপনি ** বি: 5 (মান) মুদ্রণ করেন তবে মুদ্রণ করা হবে।


উত্তর 2:

হাই, চিত্র এবং কোড নীচে উল্লেখ করুন, আপনি আপনার উত্তর পাবেন। আসলে এটি একটি পয়েন্টার-টু-পয়েন্টার (ডাবল পয়েন্টার) ধারণাগুলি

পরিবর্তনশীল নামের ঠিকানা রয়েছে: 1000

পয়েন্টার পিটিআর 1 এর ঠিকানা: 2000

পয়েন্টার পিটিআর 2 এর ঠিকানা: 3000

// ———————- কোড ——————— //

# অন্তর্ভুক্ত

প্রধান প্রধান ()

{

ইন্ট নাম = 10;

int * ptr1;

int ** পিটিআর 2;

ptr1 = & num;

ptr2 = & ptr1;

প্রিন্টফ ("সংখ্যাটির মান =% d \ n", সংখ্যা);

প্রিন্টফ ("মান পিটিআর 1 =% d available n", * পিটিআর 1 এ উপলব্ধ);

প্রিন্টফ ("মান উপলব্ধ ** পিটিআর 2 =% ডি \ n", ** পিটিআর 2);

}

আউটপুট:

সংখ্যাটির মান = 10

মান * পিটিআর 1 = 10 এ উপলব্ধ

মান ** পিটিআর 2 = 10 এ উপলব্ধ