>> اسپیکر 1: ایک پروگرام لکھتے ہیں کہ نام کے لئے صارف اور اشارہ
تین طالب علموں کے گھروں.
اب، ان کے نام اور گھروں ذخیرہ کرنے کے لئے ہم، کیا، چھ متغیر استعمال کر سکتے ہیں.
تین ناموں کے لئے ڈور، اور دوسرے گھروں کے لئے تین ڈور،
لیکن ہم نے پہلے ہی ہم کو صاف کر سکتے ہیں بجائے arrays کے کا استعمال کرتے ہوئے کی طرف سے اس کے کوڈ،
مثال کے طور پر کے لئے 3 سائز کے ایک صف تین نام، اور ایک صف
گھروں کے لئے سائز 3.
لیکن یہ ہم نے اس کو صاف کر سکتے ہیں پتہ چلتا ہے مزید اب بھی، اور اصل میں ان کو رکھنے کے
ایک دوسرے کے ساتھ کے نام اور گھروں، تاکہ ایک طالب علم کا نام اور اس کا یا اس کے گھر
کسی نہ کسی طرح تو کرنے کے لئے، محفوظ رہے ہیں ایک ہی متغیر میں، بات.
>> ایسا کرنے کے لئے، اگرچہ، ہم اعلان کرنے کی ضرورت ہمارے اپنے ڈیٹا کی قسم، C میں ہمارے اپنے کی قسم،
C کے مصنفین کے ضروری نہیں ہے کہ سال پہلے کے بارے میں سوچنا.
ایسا کرنے کے لئے ہم نے مطلوبہ الفاظ استعمال کر سکتے ہیں typedef، کے ساتھ ساتھ
دیگر مطلوبہ الفاظ struct کی.
چلو ایک نظر ڈالیں.
structs.h کے اندر، میں نے پہلے ہی ہے کی طرف سے شروع ہو
CS50 لائبریری بھی شامل ہے.
میں اگلے، typedef struct قسم جا رہا ہوں اور پھر ایک گھوبگھرالی منحنی خطوط وحدانی.
struct کے اندر، میں جا رہا ہوں ایک طالب علم ہو گا کہ وضاحت ایک
نام سٹرنگ، اور دوسرے تار گھر کہا جاتا ہے.
میں نے تو اپنے گھوبگھرالی منحنی خطوط وحدانی بند کرنے کے لئے جا رہا ہوں، اور وضاحت ہے کہ نام
اس نئے اعداد و شمار کی قسم کا طالب علم ہو گا.
دوسرے الفاظ میں، اس نحو کے ذریعے میں ہے میری اپنی ایک نئے اعداد و شمار کی قسم کا اعلان کر دیا
کہ ایک لمحے پہلے موجود نہیں کیا، اور یہ اعداد و شمار کی قسم کے اندر دو کے اعداد و شمار ہیں
کھیتوں یا ڈیٹا کے ارکان، نام سے ایک، ایک کہا گھر، جس کے دونوں
قسم سٹرنگ کے ہیں.
>> اب اس قسم کا استعمال کرتے ہیں ایک حقیقی پروگرام میں.
structs0.c میں، میں نے اسی طرح ہو گیا ہے اپنے آپ سے کچھ کے ساتھ پہلے ہی شروع
نمونہ کوڈ، اور اب میں ہوں اس ڈیٹا کو استعمال کرنے کے لئے جا
مندرجہ ذیل، طالب علم ٹائپ.
میں نے سب سے پہلے ایک اعلان کرنے جا رہا ہوں پروپوزل کی گذارش طالب علم کی صف، میں گے
صف کے طالب علموں کو کہتے ہیں -
جمع -
اور میں اس کے سائز ہو جائے گا کہ وضاحت کریں گے کی قیمت ہے جو، نوٹس، تین،
مسلسل طالب علم -
تمام دارالحکومتوں میں -
میں یہاں اعلان کیا ہے کہ، پہلے فائل میں.
اب ان تینوں پر iterate ہیں طالب علموں کو، اور اس کے لئے صارف کو فوری طور
ان کے نام اور گھروں.
>> میں 0 حاصل int کے لئے، میں بھی کم ہے کہ مسلسل سے، میں + +.
اور اب کے لئے اس کے جسم کے اندر لوپ، میں کچھ باہر پرنٹ کرنے کے لئے جا رہا ہوں
طالب علم کے نام کی طرح.
میں تو اصل میں حاصل کرنے کے لئے جا رہا ہوں وضاحت کی طرف سے طالب علم کا نام
طالب علموں میں بریکٹ.
دوسرے الفاظ میں مجھے ویں طالب علم چاہتے ہیں میں طالب علموں سے ملاقات کی سرنی، لیکن
میں نے اس میں ویں طالب علم کے میں حاصل کرنا چاہتے ہیں نام، اور ایسا کرنے کے لئے، میں استعمال کرنے کے لئے جا رہا ہوں
. آپریٹر، ایک میں حاصل کرنے کے لئے struct کے مخصوص میدان کے اندر.
تو میں نے طالب علموں میں. نام کردے وضاحت GetString کی واپسی کی قیمت ہو جاتا ہے ().
دریں اثنا، میں باہر پرنٹ کرنے کے لئے جا رہا ہوں اسی طرح کچھ، طالب علم کی کہہ
گھر، اور اب میں وضاحت کرنے کے لئے جا رہا ہوں کہ میں ویں کے طالب علموں کے گھر کے میدان
کی واپسی کی قیمت حاصل کرنے کے لئے کرے گا GetString کے لئے ایک اور کال ().
>> اب ان تینوں کے ساتھ کچھ کرنا دو طالب علموں کے نام اور گھروں،
پرنٹنگ کی طرح سادہ کچھ ایک جملے میں ہر ایک سے باہر.
int کے لئے میں 0، پھر میں سے کم ہے حاصل طالب علموں کو، میں + +، printf کے "٪ s کو٪ s کو میں ہے.
الٹا سلیش N "، اور اب مجھ میں پلگ ان ہیں ان دو شعبوں کی اقدار،
طالب علموں کو، میں نے. نام، علامت کردے طالب علموں میں بریکٹ. گھر، بند
قوس، نیم وقفہ.
>> اور اب میں ایک اور بات کرنے کی ضرورت ہے.
اس فائل کے نچلے حصے میں، میں کرنے کی ضرورت ہے مختص کیا گیا تھا کہ میموری آزاد
GetSring ()، کی طرف سے پردے کے پیچھے جس کورس کے کرنے کے لئے، malloc کا مطالبہ
ڈور کے لئے میموری مختص صارف اقسام.
لیکن اس کے لئے آسان ہے.
میں 0 حاصل int کے لئے، میں نے سے کم ہے طالب علموں کو، میں + +، اور جسم کے اندر
یہ لوپ کے لئے، میں صرف کرنے جا رہا ہوں مفت کے طالب علموں کو بریکٹ میں. نام فراہم کرتے ہیں،
اور مفت کے طالب علموں میں بریکٹ. گھر.
>> اب، ہم واضح طور پر loops کے لئے تین استعمال کیا جاتا ہے اس پروگرام میں، جب واقعی میں
صرف ایک استعمال کیا جاتا ہے، لیکن یہ ہے کیا جا سکتا ہے صرف مظاہرے کی خاطر، تاکہ
ہم تین مختلف میں وضاحت کر سکتے ہیں ہم کر رہے ہیں بالکل وہی اقدامات.
ہم سب سے پہلے ایک کا نام اور ایک گھر ہو رہے ہیں طالب علموں کی ہر ایک کے لئے، ہم تو ہیں
کا نام اور گھر کے باہر پرنٹ تین طالب علموں میں سے ہر ایک، اور
پھر ہم میموری آزاد کرنے جا رہے ہیں طالب علموں میں سے ہر ایک کی طرف سے استعمال کیا جاتا ہے.
لیکن یقینا ہم اس کو یکجا کر سکتی تھی لوپ کے لئے ایک بڑا میں.
>> مرتب، اب کو بچانے کے، اور اس پروگرام کو چلانے کے.
بنانے structs 0. / structs 0، طالب علم کی نام، ڈیوڈ فراہم کرتے ہیں، وہ رہیں گے
Mather ہاؤس میں، طالب علم کا نام، چلو لارین کا کہنا ہے کہ، وہ Leverett میں رہیں گے
ہاؤس، طالب علم کا نام، روب، وہ کریں گے Kirkland کے گھر میں رہتے ہیں.
اور یقینا، ڈیوڈ، Mather میں ہے لارین، Leverett میں ہے
اور روب Kirkland کے میں ہے.