C میں ڈھانچے

Structures C



C میں ، ایک ڈھانچہ ایک صارف کی طرف سے متعین کردہ متغیر ہے جو کسی ایک ہستی کے تحت متغیرات کے مجموعے کو ذخیرہ کرنے کے لیے استعمال ہوتا ہے۔ آئیے سی میں ڈھانچے کے نفاذ اور افادیت کی وضاحت کے لیے ایک سادہ تشبیہ استعمال کریں۔

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







اس کو حل کرنے کے لیے ہم ایک ڈھانچہ بنا سکتے ہیں۔ ڈھانچے کے اندر ، ہم تمام صارفین کی مشترکہ خصوصیات کو محفوظ کر سکتے ہیں اور پھر ہر صارف کے لیے منفرد متغیرات کو شامل کر سکتے ہیں۔



آئیے مختلف مثالوں پر ایک نظر ڈالتے ہیں کہ اس کو کیسے نافذ کیا جائے۔



سی میں ڈھانچے کی وضاحت کیسے کریں

C میں ایک ڈھانچے کی وضاحت کرنے کے لیے ، ہم ڈھانچے کے نام کے بعد سٹرکٹ کی ورڈ استعمال کرتے ہیں۔ نام کے بعد ، ہمارے پاس گھوبگھرالی منحنی خطوط وحدانی کا ایک جوڑا ہے جہاں ہم اراکین کو شامل کرتے ہیں۔





ذیل میں نحو پر غور کریں:

ساختstruct_name
{
/ * ڈیٹا */
رکن کا نام ٹائپ کریں۔؛
type member_name2؛
type member_name3؛

...
قسمرکن_نام؛
}؛

ڈھانچے کا نام کچھ بھی ہو سکتا ہے جب تک کہ یہ C پروگرامنگ لینگویج کے نام کنونشن پر قائم رہے۔



ہم صارف مشابہت کی مثال کے ڈھانچے کو نافذ کرسکتے ہیں:

ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}؛

ساخت کے متغیرات کیسے بنائیں

ساخت متغیرات بنانے کے دو اہم طریقے ہیں۔ پہلا یہ کہ انہیں عام متغیرات کی طرح قرار دیا جائے ، اور دوسرا انہیں گھوبگھرالی منحنی خطوط وحدانی کا استعمال کرتے ہوئے سیٹ کیا جائے۔

نیچے دی گئی مثال سے پتہ چلتا ہے کہ ڈھانچے کے متغیرات کو معیاری سی متغیر کے طور پر کیسے اعلان کیا جائے۔

ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}؛

intمرکزی(intargc، چار const *argv[])
{
ساختصارفین صارف 1۔،صارف 2۔،صارف 3۔
واپسی ؛
}

ساخت متغیرات بنانے کا دوسرا طریقہ جیسا کہ ذیل میں دکھایا گیا ہے:

ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}صارف 1۔،صارف 2۔،صارف 3۔؛

اس مثال میں ، ہم انہیں ڈھانچے کے اعلان کے دوران تخلیق کرتے ہیں۔

ساخت رکن رکن

آپ ڈھانچے کے ارکان کو تخلیق کے دوران شروع نہیں کر سکتے کیونکہ اس قسم کے لیے کوئی میموری مختص نہیں ہے۔

کسی ڈھانچے کے ممبروں کو شروع کرنے کے لیے ، آپ گھوبگھرالی منحنی خطوط وحدانی استعمال کرتے ہیں جیسا کہ ذیل میں دکھایا گیا ہے۔

ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}؛
intمرکزی(intargc، چار const *argv[])
{
ساختصارفین صارف 1۔= {'میرا صارف نام'، '[ای میل محفوظ]'، 35۔، سچ}
واپسی ؛
}

ڈھانچے کے ارکان تک رسائی حاصل کریں۔

کسی ڈھانچے کے ممبروں تک رسائی کے لیے ، ہم ڈاٹ آپریٹر استعمال کرتے ہیں ، ڈھانچے کا نام ، ایک ڈاٹ اور ممبر کے نام سے شروع ہوتا ہے۔

ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}؛
intمرکزی(intargc، چار const *argv[])
{
ساختصارفین صارف 1۔= {'میرا صارف نام'، '[ای میل محفوظ]'، 35۔، سچ}
صارف 1۔ای میل = '[ای میل محفوظ]'
واپسی ؛
}

اس مثال میں ، ہم یوزر 1 کے ممبروں تک رسائی حاصل کرتے ہیں۔

ٹائپڈف کلیدی لفظ

ہم ٹائپیڈف کی ورڈ کو ڈیٹا کی اقسام کے لیے ایک عرف بنانے کے لیے استعمال کرتے ہیں ، جس سے کوڈ زیادہ پڑھنے کے قابل ہوتا ہے۔

مثال کے طور پر:

ٹائپڈف ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}آپ؛
intمرکزی(intargc، چار const *argv[])
{
آپ صارف 1۔= {'میرا صارف نام'، '[ای میل محفوظ]'، 35۔، سچ}
صارف 1۔رجسٹرڈ = جھوٹا
واپسی ؛
}

اوپر کی مثال میں ، ہم نے صارفین کے ڈھانچے کے لیے ایک عرف u بنایا۔ لہذا ، ہمیں ہر بار ڈھانچے کے صارفین کو کال کرنے کی ضرورت نہیں ہے۔ جیسا کہ اوپر بیان کیا گیا ہے ہم آپ کو استعمال کرسکتے ہیں۔

ساخت کے اشارے۔

آپ کسی ڈھانچے کی طرف اشارہ بھی کر سکتے ہیں۔ ایسا کرنے سے آپ -> آپریٹر کا استعمال کرتے ہوئے ممبروں تک رسائی حاصل کرسکتے ہیں۔

مثال کے طور پر:

ٹائپڈف ساختصارفین
{
چارصارف نام[بیس]؛
چارای میل[225۔]؛
چارپتہ[پچاس]؛
intعمر؛
بول رجسٹرڈ؛
}آپ؛
intمرکزی(intargc، چار const *argv[])
{
آپ صارف 1۔= {'میرا صارف نام'، '[ای میل محفوظ]'، 35۔، سچ}

// کسی اور ڈھانچے کی طرف اشارہ۔
آپ*یوزر_ پی ٹی آر۔= &صارف 1۔
یوزر_ پی ٹی آر۔->صارف نام= 'ptrusername'
واپسی ؛
}

نتیجہ

یہ گائیڈ سی پروگرامنگ زبان میں ڈھانچے کے ساتھ کام کرنے کی بنیادی باتوں کا احاطہ کرتا ہے۔

پڑھنے کے لیے آپ کا شکریہ!