سی پروگرامنگ میں میموری ایڈریس کیا ہے اور اسے کیسے تلاش کیا جائے؟

Sy Prwgramng My Mymwry Ay Rys Kya Awr As Kys Tlash Kya Jay



اصطلاح 'میموری ایڈریس' میں سی پروگرامنگ کمپیوٹر کی میموری میں اس پوزیشن سے مراد ہے جہاں ڈیٹا رکھا جاتا ہے۔ آسان الفاظ میں، a میموری ایڈریس گلی کے پتے کی طرح ہے جو کمپیوٹر کو ذخیرہ شدہ معلومات تک تیزی سے رسائی میں مدد کرتا ہے۔ یہ سمجھنے کے لیے کہ کمپیوٹر کی میموری میں ڈیٹا کیسے محفوظ ہوتا ہے، آپ کو سمجھنا چاہیے۔ میموری پتے C میں. کے تصور کو سمجھنا ضروری ہے۔ C میں میموری ایڈریس جیسا کہ یہ موثر پروگرام بنانے کے لیے ضروری ہے۔

میموری ایڈریس کیا ہے؟

اے میموری ایڈریس ایک ہیکساڈیسیمل نمبر ہے جو کمپیوٹر کی میموری میں کسی پروگرام کے ڈیٹا یا ہدایات کے مقام کی نشاندہی کرتا ہے اور ابتدائی افراد کے لیے اسے سمجھنا مشکل ہو سکتا ہے۔ براہ راست پڑھنے اور ترمیم کرنے کے لیے میموری پتے ، اشارے کی ضرورت ہے۔ متغیر کا پتہ تلاش کرنے کے لیے، '&' ایمپرسینڈ آپریٹر استعمال کریں۔ ایک پوائنٹر متغیر ہے جہاں پتہ رکھا جاتا ہے۔

یہ سمجھنا کہ میموری کو کس طرح ترتیب دیا جاتا ہے اس کی زیادہ سمجھ حاصل کرنے کے لیے بہت ضروری ہے۔ میموری پتے . بائٹس سی پروگرامنگ میں میموری بناتے ہیں، اور پتے بتاتے ہیں کہ ہر بائٹ کا آغاز کہاں سے ہوتا ہے۔ اسے دوسرے طریقے سے ڈالنے کے لئے، میموری میں ہر بائٹ ایک منفرد ہے میموری ایڈریس . ایک متغیر جو نمبر کو ذخیرہ کرتا ہے بائٹس میں میموری کی ایک خاص مقدار لیتا ہے، اور میموری ایڈریس متغیر کے ابتدائی بائٹ سے مطابقت رکھتا ہے۔







میموری ایڈریس کیسے تلاش کریں؟

ہم دو طریقے تلاش کر سکتے ہیں a میموری ایڈریس سی پروگرامنگ زبان میں۔



طریقہ 1: '&' آپریٹر کا استعمال

سی پروگرامنگ میں '&' آپریٹر یا ایمپرسینڈ علامت کو متغیر کو تلاش کرنے کے لیے استعمال کیا جا سکتا ہے۔ میموری ایڈریس . یہ آپریٹر پروگرام کے اندر متغیر کا پتہ بازیافت کرتا ہے۔ اس طریقہ کو بہتر طور پر سمجھنے کے لیے نیچے دی گئی مثال پر ایک نظر ڈالیں۔



# شامل کریں

int مرکزی ( ) {

int ایک پر = 40 ;

printf ( 'num کی قدر %d ہے۔ \n ' , ایک پر ) ;

printf ( 'num کا میموری ایڈریس %p ہے۔ \n ' , اور ایک پر ) ;

واپسی 0 ;

}

مندرجہ بالا کوڈ میں، ایک عدد متغیر 'ایک پر' قدر کے ساتھ 40 کی وضاحت کی گئی ہے۔ کی قدر 'ایک پر' اور اس کے میموری ایڈریس پھر کا استعمال کرتے ہوئے پرنٹ کیا جاتا ہے printf() فنکشن اور فارمیٹ کی وضاحت کرنے والے بالترتیب %d اور %p۔ دی '&ایک پر' اظہار واپس کرتا ہے۔ میموری ایڈریس num کا، جو بعد میں ہیکساڈیسیمل فارمیٹ میں %p فارمیٹ اسپیفائر کا استعمال کرتے ہوئے دکھایا جاتا ہے۔





آؤٹ پٹ



نوٹ: سی پروگرامنگ میں فلوٹنگ پوائنٹ یا سٹرنگ قسم کے متغیرات کا پتہ تلاش کرنے کے لیے بھی یہی طریقہ اپنایا جا سکتا ہے۔

طریقہ 2: پوائنٹر کا استعمال

سی پروگرامنگ میں، اس کا تعین کرنا بھی ممکن ہے۔ میموری ایڈریس ایک پوائنٹر کا استعمال کرتے ہوئے. میموری کے علاقے کا پتہ ایک مخصوص ڈیٹا کی قسم میں محفوظ کیا جاتا ہے جسے زبان C میں پوائنٹر کہا جاتا ہے۔ وہ اکثر کمپیوٹر کی میموری کو ہیرا پھیری کرنے کے لیے C میں استعمال ہوتے ہیں۔ تلاش کرنے کے لئے میموری ایڈریس پوائنٹر کا استعمال کرتے ہوئے سی پروگرامنگ میں، ذیل میں دیئے گئے اقدامات پر عمل کریں:

مرحلہ نمبر 1: اے کا پتہ لگانے کا ابتدائی مرحلہ میموری ایڈریس ایک پوائنٹر متغیر بنانا ہے۔ C میں ایک پوائنٹر متغیر بنانے کے لیے، متغیر کا نام ایک سے پہلے ہوتا ہے۔ نجمہ کا نشان (*) . نیچے کا کوڈ وضاحت کرتا ہے کہ کس طرح تعمیر کیا جائے۔ 'ptr' پوائنٹر متغیر.

int * ptr ;

نوٹ: پوائنٹر متغیر میں محفوظ کردہ متغیر کی میموری لوکیشن کی طرف اشارہ کیا گیا ہے۔ نجمہ کا نشان (*) . اس عمل کو ڈیریفرنسنگ کہتے ہیں۔

مرحلہ 2: پوائنٹر متغیر کو پھر میموری میں ایک مقام دیا جائے گا۔ دی میموری ایڈریس ایک موجودہ متغیر کا استعمال کرتے ہوئے پوائنٹر متغیر کو تفویض کیا جاتا ہے۔ '&' آپریٹر یہاں ایک سادہ مثال ہے:

int تھا = 5 ;

int * ptr = اور تھا ;

مندرجہ ذیل مثال a کو ظاہر کرتی ہے۔ میموری ایڈریس سی میں ایک کا استعمال کرتے ہوئے پوائنٹر .

# شامل کریں

int مرکزی ( ) {

int نمبر = 100 ;

int * ptr = اور نمبر ;

printf ( نمبر متغیر کا میموری ایڈریس: %p \n ' , ptr ) ;

واپسی 0 ;

}

مذکورہ کوڈ ایک پوائنٹر متغیر کا اعلان کرتا ہے۔ ptr ایک عدد متغیر کے پتے کی طرف اشارہ کرنا نمبر 100 کی قدر کے ساتھ printf() فنکشن پھر پرنٹ کرنے کے لیے استعمال ہوتا ہے۔ میموری پتے %p فارمیٹ اسپیفائر کا استعمال کرتے ہوئے نمبر کا، جو میموری ایڈریس کو ہیکساڈیسیمل فارمیٹ میں پرنٹ کرتا ہے۔

آؤٹ پٹ

یہ یاد رکھنا ضروری ہے کہ میموری ایڈریس آپریٹنگ سسٹم پر منحصر تبدیلیاں جس پر کوڈ چل رہا ہے۔ دی میموری ایڈریس ہر سسٹم پر واپس آنے والے مختلف ہوں گے، مثال کے طور پر، اگر ایک جیسا کوڈ دو الگ الگ کمپیوٹرز پر چلایا جاتا ہے۔ اس طرح، ہارڈ کوڈنگ کے بجائے متعلقہ میموری ایڈریس کے ساتھ کام کرنے کی سفارش کی جاتی ہے۔ میموری پتے کوڈ میں.

نتیجہ

سی پروگرامنگ میں، میموری پتے ڈیٹا میں ترمیم اور رسائی کے لیے اہم ہیں۔ پروگرامنگ کے کامیاب ہونے کے لیے، یہ سمجھنا ضروری ہے کہ کیسے تلاش کیا جائے۔ میموری پتے . سی پروگرامنگ میں، ہم استعمال کرتے ہیں۔ ایمپرسینڈ آپریٹر (&) اور تلاش کرنے کے لیے ایک پوائنٹر میموری ایڈریس . جیسا کہ پوائنٹرز کو براہ راست رسائی اور ترمیم کرنے کے لیے استعمال کیا جا سکتا ہے۔ میموری پتے ، وہ پروگراموں کو نافذ کرنے کے لئے اہم ہیں۔ پروگرامرز استعمال کر سکتے ہیں۔ میموری پتے ان بنیادی باتوں کو ذہن میں رکھ کر کامیاب کوڈ لکھنا۔