2 00:00:00,000 --> 00:00:02,760 >> اسپیکر 1: ایک پروگرام لکھتے ہیں کہ نام کے لئے صارف اور اشارہ 3 00:00:02,760 --> 00:00:04,700 تین طالب علموں کے گھروں. 4 00:00:04,700 --> 00:00:08,840 اب، ان کے نام اور گھروں ذخیرہ کرنے کے لئے ہم، کیا، چھ متغیر استعمال کر سکتے ہیں. 5 00:00:08,840 --> 00:00:12,260 تین ناموں کے لئے ڈور، اور دوسرے گھروں کے لئے تین ڈور، 6 00:00:12,260 --> 00:00:16,560 لیکن ہم نے پہلے ہی ہم کو صاف کر سکتے ہیں بجائے arrays کے کا استعمال کرتے ہوئے کی طرف سے اس کے کوڈ، 7 00:00:16,560 --> 00:00:20,220 مثال کے طور پر کے لئے 3 سائز کے ایک صف تین نام، اور ایک صف 8 00:00:20,220 --> 00:00:22,110 گھروں کے لئے سائز 3. 9 00:00:22,110 --> 00:00:25,870 لیکن یہ ہم نے اس کو صاف کر سکتے ہیں پتہ چلتا ہے مزید اب بھی، اور اصل میں ان کو رکھنے کے 10 00:00:25,870 --> 00:00:30,520 ایک دوسرے کے ساتھ کے نام اور گھروں، تاکہ ایک طالب علم کا نام اور اس کا یا اس کے گھر 11 00:00:30,520 --> 00:00:34,940 کسی نہ کسی طرح تو کرنے کے لئے، محفوظ رہے ہیں ایک ہی متغیر میں، بات. 12 00:00:34,940 --> 00:00:39,095 >> ایسا کرنے کے لئے، اگرچہ، ہم اعلان کرنے کی ضرورت ہمارے اپنے ڈیٹا کی قسم، C میں ہمارے اپنے کی قسم، 13 00:00:39,095 --> 00:00:42,660 C کے مصنفین کے ضروری نہیں ہے کہ سال پہلے کے بارے میں سوچنا. 14 00:00:42,660 --> 00:00:45,630 ایسا کرنے کے لئے ہم نے مطلوبہ الفاظ استعمال کر سکتے ہیں typedef، کے ساتھ ساتھ 15 00:00:45,630 --> 00:00:47,200 دیگر مطلوبہ الفاظ struct کی. 16 00:00:47,200 --> 00:00:48,160 چلو ایک نظر ڈالیں. 17 00:00:48,160 --> 00:00:50,650 structs.h کے اندر، میں نے پہلے ہی ہے کی طرف سے شروع ہو 18 00:00:50,650 --> 00:00:52,560 CS50 لائبریری بھی شامل ہے. 19 00:00:52,560 --> 00:00:57,640 میں اگلے، typedef struct قسم جا رہا ہوں اور پھر ایک گھوبگھرالی منحنی خطوط وحدانی. 20 00:00:57,640 --> 00:01:01,370 struct کے اندر، میں جا رہا ہوں ایک طالب علم ہو گا کہ وضاحت ایک 21 00:01:01,370 --> 00:01:04,960 نام سٹرنگ، اور دوسرے تار گھر کہا جاتا ہے. 22 00:01:04,960 --> 00:01:08,430 میں نے تو اپنے گھوبگھرالی منحنی خطوط وحدانی بند کرنے کے لئے جا رہا ہوں، اور وضاحت ہے کہ نام 23 00:01:08,430 --> 00:01:11,420 اس نئے اعداد و شمار کی قسم کا طالب علم ہو گا. 24 00:01:11,420 --> 00:01:15,550 دوسرے الفاظ میں، اس نحو کے ذریعے میں ہے میری اپنی ایک نئے اعداد و شمار کی قسم کا اعلان کر دیا 25 00:01:15,550 --> 00:01:19,910 کہ ایک لمحے پہلے موجود نہیں کیا، اور یہ اعداد و شمار کی قسم کے اندر دو کے اعداد و شمار ہیں 26 00:01:19,910 --> 00:01:24,270 کھیتوں یا ڈیٹا کے ارکان، نام سے ایک، ایک کہا گھر، جس کے دونوں 27 00:01:24,270 --> 00:01:25,630 قسم سٹرنگ کے ہیں. 28 00:01:25,630 --> 00:01:27,690 >> اب اس قسم کا استعمال کرتے ہیں ایک حقیقی پروگرام میں. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 structs0.c میں، میں نے اسی طرح ہو گیا ہے اپنے آپ سے کچھ کے ساتھ پہلے ہی شروع 31 00:01:34,090 --> 00:01:36,999 نمونہ کوڈ، اور اب میں ہوں اس ڈیٹا کو استعمال کرنے کے لئے جا 32 00:01:36,999 --> 00:01:39,100 مندرجہ ذیل، طالب علم ٹائپ. 33 00:01:39,100 --> 00:01:42,450 میں نے سب سے پہلے ایک اعلان کرنے جا رہا ہوں پروپوزل کی گذارش طالب علم کی صف، میں گے 34 00:01:42,450 --> 00:01:43,920 صف کے طالب علموں کو کہتے ہیں - 35 00:01:43,920 --> 00:01:44,630 جمع - 36 00:01:44,630 --> 00:01:49,360 اور میں اس کے سائز ہو جائے گا کہ وضاحت کریں گے کی قیمت ہے جو، نوٹس، تین، 37 00:01:49,360 --> 00:01:50,880 مسلسل طالب علم - 38 00:01:50,880 --> 00:01:51,890 تمام دارالحکومتوں میں - 39 00:01:51,890 --> 00:01:54,930 میں یہاں اعلان کیا ہے کہ، پہلے فائل میں. 40 00:01:54,930 --> 00:01:58,280 اب ان تینوں پر iterate ہیں طالب علموں کو، اور اس کے لئے صارف کو فوری طور 41 00:01:58,280 --> 00:02:00,050 ان کے نام اور گھروں. 42 00:02:00,050 --> 00:02:05,422 >> میں 0 حاصل int کے لئے، میں بھی کم ہے کہ مسلسل سے، میں + +. 43 00:02:05,422 --> 00:02:08,600 اور اب کے لئے اس کے جسم کے اندر لوپ، میں کچھ باہر پرنٹ کرنے کے لئے جا رہا ہوں 44 00:02:08,600 --> 00:02:11,470 طالب علم کے نام کی طرح. 45 00:02:11,470 --> 00:02:14,890 میں تو اصل میں حاصل کرنے کے لئے جا رہا ہوں وضاحت کی طرف سے طالب علم کا نام 46 00:02:14,890 --> 00:02:17,290 طالب علموں میں بریکٹ. 47 00:02:17,290 --> 00:02:21,550 دوسرے الفاظ میں مجھے ویں طالب علم چاہتے ہیں میں طالب علموں سے ملاقات کی سرنی، لیکن 48 00:02:21,550 --> 00:02:25,340 میں نے اس میں ویں طالب علم کے میں حاصل کرنا چاہتے ہیں نام، اور ایسا کرنے کے لئے، میں استعمال کرنے کے لئے جا رہا ہوں 49 00:02:25,340 --> 00:02:30,160 . آپریٹر، ایک میں حاصل کرنے کے لئے struct کے مخصوص میدان کے اندر. 50 00:02:30,160 --> 00:02:37,100 تو میں نے طالب علموں میں. نام کردے وضاحت GetString کی واپسی کی قیمت ہو جاتا ہے (). 51 00:02:37,100 --> 00:02:40,310 دریں اثنا، میں باہر پرنٹ کرنے کے لئے جا رہا ہوں اسی طرح کچھ، طالب علم کی کہہ 52 00:02:40,310 --> 00:02:45,410 گھر، اور اب میں وضاحت کرنے کے لئے جا رہا ہوں کہ میں ویں کے طالب علموں کے گھر کے میدان 53 00:02:45,410 --> 00:02:49,480 کی واپسی کی قیمت حاصل کرنے کے لئے کرے گا GetString کے لئے ایک اور کال (). 54 00:02:49,480 --> 00:02:52,350 >> اب ان تینوں کے ساتھ کچھ کرنا دو طالب علموں کے نام اور گھروں، 55 00:02:52,350 --> 00:02:56,230 پرنٹنگ کی طرح سادہ کچھ ایک جملے میں ہر ایک سے باہر. 56 00:02:56,230 --> 00:03:07,580 int کے لئے میں 0، پھر میں سے کم ہے حاصل طالب علموں کو، میں + +، printf کے "٪ s کو٪ s کو میں ہے. 57 00:03:07,580 --> 00:03:12,600 الٹا سلیش N "، اور اب مجھ میں پلگ ان ہیں ان دو شعبوں کی اقدار، 58 00:03:12,600 --> 00:03:19,055 طالب علموں کو، میں نے. نام، علامت کردے طالب علموں میں بریکٹ. گھر، بند 59 00:03:19,055 --> 00:03:21,290 قوس، نیم وقفہ. 60 00:03:21,290 --> 00:03:23,020 >> اور اب میں ایک اور بات کرنے کی ضرورت ہے. 61 00:03:23,020 --> 00:03:26,600 اس فائل کے نچلے حصے میں، میں کرنے کی ضرورت ہے مختص کیا گیا تھا کہ میموری آزاد 62 00:03:26,600 --> 00:03:30,290 GetSring ()، کی طرف سے پردے کے پیچھے جس کورس کے کرنے کے لئے، malloc کا مطالبہ 63 00:03:30,290 --> 00:03:32,500 ڈور کے لئے میموری مختص صارف اقسام. 64 00:03:32,500 --> 00:03:35,720 لیکن اس کے لئے آسان ہے. 65 00:03:35,720 --> 00:03:42,610 میں 0 حاصل int کے لئے، میں نے سے کم ہے طالب علموں کو، میں + +، اور جسم کے اندر 66 00:03:42,610 --> 00:03:48,670 یہ لوپ کے لئے، میں صرف کرنے جا رہا ہوں مفت کے طالب علموں کو بریکٹ میں. نام فراہم کرتے ہیں، 67 00:03:48,670 --> 00:03:52,300 اور مفت کے طالب علموں میں بریکٹ. گھر. 68 00:03:52,300 --> 00:03:55,620 >> اب، ہم واضح طور پر loops کے لئے تین استعمال کیا جاتا ہے اس پروگرام میں، جب واقعی میں 69 00:03:55,620 --> 00:03:58,800 صرف ایک استعمال کیا جاتا ہے، لیکن یہ ہے کیا جا سکتا ہے صرف مظاہرے کی خاطر، تاکہ 70 00:03:58,800 --> 00:04:02,850 ہم تین مختلف میں وضاحت کر سکتے ہیں ہم کر رہے ہیں بالکل وہی اقدامات. 71 00:04:02,850 --> 00:04:06,120 ہم سب سے پہلے ایک کا نام اور ایک گھر ہو رہے ہیں طالب علموں کی ہر ایک کے لئے، ہم تو ہیں 72 00:04:06,120 --> 00:04:08,900 کا نام اور گھر کے باہر پرنٹ تین طالب علموں میں سے ہر ایک، اور 73 00:04:08,900 --> 00:04:11,910 پھر ہم میموری آزاد کرنے جا رہے ہیں طالب علموں میں سے ہر ایک کی طرف سے استعمال کیا جاتا ہے. 74 00:04:11,910 --> 00:04:15,310 لیکن یقینا ہم اس کو یکجا کر سکتی تھی لوپ کے لئے ایک بڑا میں. 75 00:04:15,310 --> 00:04:18,650 >> مرتب، اب کو بچانے کے، اور اس پروگرام کو چلانے کے. 76 00:04:18,650 --> 00:04:26,850 بنانے structs 0. / structs 0، طالب علم کی نام، ڈیوڈ فراہم کرتے ہیں، وہ رہیں گے 77 00:04:26,850 --> 00:04:31,580 Mather ہاؤس میں، طالب علم کا نام، چلو لارین کا کہنا ہے کہ، وہ Leverett میں رہیں گے 78 00:04:31,580 --> 00:04:36,590 ہاؤس، طالب علم کا نام، روب، وہ کریں گے Kirkland کے گھر میں رہتے ہیں. 79 00:04:36,590 --> 00:04:39,440 اور یقینا، ڈیوڈ، Mather میں ہے لارین، Leverett میں ہے 80 00:04:39,440 --> 00:04:40,810 اور روب Kirkland کے میں ہے. 81 00:04:40,810 --> 00:04:43,425