ساخت اور یونین کے درمیان فرق

Anonim

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

ساخت کیا ہے؟

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

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

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

سرپرست ملازم {

سٹرنگ کا نام؛

سٹرنگ عمر؛

سٹرنگ فون؛

تنخواہ تنخواہ؛

} emp1، emp2؛

یہاں، 'ملازم' ساخت کا نام ہے اور دو متغیرات 'ایم پی 1' اور 'ایم پی 2' قسم کے 'ملازم' سے پیدا ہوتے ہیں. بند ہونے والی برتنوں کو ایک سیمروپن (؛) کے مطابق ہونا چاہئے.

ایک ڈھانچہ کے ارکان کو دو قسم کے آپریٹرز کی طرف سے حاصل کیا جاسکتا ہے:

  1. اراکین آپریٹر
  2. ساخت پوائنٹر آپریٹر

یونین کیا ہے؟

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

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

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

یونین کے ملازم { چار چار نام [32]؛

انٹرو؛

فلوٹ تنخواہ؛

یہاں مطلوبہ لفظ 'یونین' یونین کی وضاحت کرتا ہے جو ساخت کی اعلان کے ساتھ ہی کافی ہے. متغیر یا تو ایک تار کی قیمت کو ذخیرہ کرسکتا ہے جو 'ملازم کا نام' ہے، ایک مکمل انعقاد جس میں 'ملازم کی عمر'، یا فلوٹ ہے جو ملازم کی تنخواہ کی نمائندگی کرتا ہے.

ساخت اور یونین کے درمیان فرق

1. کلیدی لفظ

مطلوبہ الفاظ 'ساخت' کو ایک ساخت کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے جبکہ 'یونین' مطلوبہ الفاظ کسی یونین کی وضاحت کے لئے استعمال کیا جاتا ہے.

2. یاد داشت مختص

ایک ساخت کے اندر اراکین کے لئے علیحدہ میموری کی جگہ مختص کی گئی ہے اور اس کے ارکان کو مختلف پتے ہیں جو میموری کا حصہ نہیں بناتے ہیں. ایک اتحادی، دوسری طرف، اس کے تمام ممبروں کے لئے ایک ہی میموری کی جگہ کا اشتراک کرتا ہے لہذا میموری کا مقام مختص کیا جاتا ہے.

3. اراکین کی رسائی

ایک یونین ایک وقت میں ایک ہی وقت میں ایک ہی وقت میں ایک ہی رکن تک رسائی حاصل کرنے کے لئے ایک ہی قیمت ذخیرہ کرتا ہے. جبکہ ایک سے زیادہ اقدار کو ایک ڈھانچہ میں ذخیرہ کیا جاسکتا ہے لہذا کسی رکن کی حیثیت تک رسائی حاصل کی جاسکتی ہے اور کسی بھی وقت بھی اس کی بازیابی کی جاتی ہے.

4. سائز

ایک ڈھانچہ کا سائز تمام ممبروں کے سائز یا اس سے زیادہ کے برابر ہے، جبکہ یونین کا سائز سب سے بڑا سائز کے رکن کے سائز کے برابر ہے.

5. ابتداء

ایک ساخت میں، بہت سے اراکین کو ایک ہی وقت میں ابتداء کیا جا سکتا ہے، جبکہ یونین میں، صرف اس کا پہلا رکن اس قسم کی قیمت کے ساتھ ابتدائی طور پر شروع کیا جاسکتا ہے.

5. ویلیو

ایک ڈھانچہ تمام ممبروں کے مختلف اقدار کو ذخیرہ کرسکتا ہے اور ایک رکن کی قیمت میں تبدیل کر سکتا ہے اس کے دوسرے ارکان کے اقدار پر کوئی اثر نہیں پڑے گا. جبکہ ایک اتحادی اپنے تمام اراکین کے لئے ایک ہی قدر اسٹور کرتا ہے اور ایک رکن کے قدر کی قیمت دوسرے کی قیمت کو متاثر کرے گا.

ساخت بمقابلہ یونین

ساخت

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

دونوں ساخت اور یونین سی میں صارف کی وضاحت کردہ اعداد و شمار کی اقسام ہیں جو فعال طور پر ہیں اور تصوراتی طور پر اسی طرح ابھی تک کچھ طریقوں سے مختلف ہیں.

  • مختلف اعداد و شمار کے مختلف قسم کے متغیر متغیرات پر مشتمل ہے لیکن وہ متغیر اور تک رسائی والے اراکین کے اعلان کے لئے ایک ہی نحو کا استعمال کرتے ہیں. جبچہ ایک ساخت 'struct' مطلوبہ الفاظ کی طرف سے وضاحت کی جاتی ہے، ایک یونین مطلوبہ الفاظ 'یونین' کی طرف سے تعریف کی جاتی ہے.
  • ہر رکن کو ایک ساخت میں علیحدہ میموری مقام ملتا ہے، جبکہ ایک یونین میں، کل میموری کی جگہ کا سب سے بڑا سائز کا رکن ہے. تمام اراکین ایک یونین میں اسی میموری کی جگہ کا اشتراک کرتے ہیں.
  • کسی بھی ترتیب میں کسی بھی رکن کو کسی ساخت میں رسائی حاصل کی جاسکتی ہے، حالانکہ یونین میں، صرف اس متغیر تک رسائی حاصل کی جاسکتی ہے جس کی قیمت حال ہی میں محفوظ ہے.