پوائنٹر اور حوالہ کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 1 اپریل 2021
تازہ کاری کی تاریخ: 1 جولائی 2024
Anonim
ایک پوائنٹر اور حوالہ C++ کے درمیان کیا فرق ہے؟
ویڈیو: ایک پوائنٹر اور حوالہ C++ کے درمیان کیا فرق ہے؟

مواد


"پوائنٹر" اور "حوالہ" دونوں کسی دوسرے متغیر کی نشاندہی کرنے یا حوالہ دینے کے لئے استعمال ہوتے ہیں۔ لیکن ، ان دونوں کے درمیان بنیادی فرق یہ ہے کہ ایک پوائنٹر متغیر ایک متغیر کی طرف اشارہ کرتا ہے جس کی میموری کا مقام اس میں محفوظ ہوتا ہے۔ حوالہ متغیر متغیر کا ایک عرف ہے جو اسے تفویض کیا گیا ہے۔ ذیل میں موازنہ چارٹ ایک پوائنٹر اور حوالہ کے مابین دوسرے فرق کو تلاش کرتا ہے۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کے لئے بنیادپوائنٹرحوالہ
بنیادیپوائنٹر متغیر کا میموری ایڈریس ہے۔حوالہ متغیر کا ایک عرف ہے۔
واپسیپوائنٹر متغیر پوائنٹر متغیر میں محفوظ پتے پر واقع قیمت لوٹاتا ہے جو پوائنٹر سائن * سے پہلے ہوتا ہے۔حوالہ متغیر متغیر کا پتہ واپس کرتا ہے جس سے پہلے حوالہ علامت &.
آپریٹرز *, ->&
منسوخ حوالہپوائنٹر متغیر NULL کا حوالہ دے سکتا ہے۔حوالہ متغیر کبھی بھی NULL کا حوالہ نہیں دے سکتا۔
ابتدا ایک بلا اشارہ پوائنٹر بنایا جاسکتا ہے۔ایک غیر منطقی حوالہ کبھی بھی تشکیل نہیں دیا جاسکتا۔
ابتدا کا وقتپروگرام میں کسی بھی وقت پوائنٹر متغیر کی ابتدا کی جاسکتی ہے۔حوالہ متغیر صرف اس کی تخلیق کے وقت ہی شروع کیا جاسکتا ہے۔
دوبارہ تنظیم کرنااشارے کے متغیر کو جتنی بار ضرورت ہو دوبارہ انضمام کیا جاسکتا ہے۔پروگرام میں ریفرنس متغیر کو دوبارہ کبھی دوبارہ نہیں بنایا جاسکتا۔


پوائنٹر کی تعریف

"پوائنٹر" ایک متغیر ہے جو کسی دوسرے متغیر کی میموری کی جگہ رکھتا ہے۔ پوائنٹر متغیر کے ذریعہ استعمال شدہ آپریٹرز * اور -> ہیں۔ پوائنٹر متغیر کے اعلان میں بیس ڈیٹا کی قسم ہوتی ہے جس کے بعد ‘*’ نشان اور متغیر نام ہوتا ہے۔

ٹائپ کریں * var_name؛

آئیے ایک مثال کی مدد سے پوائنٹر کو سمجھیں۔

int a = 4؛ int * ptr = & a؛ cout <جبکہ ، حوالہ آپریٹر & ہے۔

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


    جاوا پوائنٹرز کی حمایت نہیں کرتا ہے۔

    نتیجہ اخذ کرنا

    پوائنٹر اور حوالہ دونوں دوسرے متغیر کی نشاندہی کرنے یا حوالہ دینے کے لئے استعمال ہوتے ہیں۔ لیکن دونوں ان کے استعمال اور اس پر عمل درآمد میں مختلف ہیں۔