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 কিন্তু আমরা ইতিমধ্যে আমরা পরিষ্কার করতে পারেন যে জানি পরিবর্তে অ্যারে ব্যবহার করে যে কোড, 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 একরকম তাই যাও, encapsulated হয় একই ভেরিয়েবলের মধ্যে, কথা বলতে. 12 00:00:34,940 --> 00:00:39,095 >> এটি করার জন্য, যদিও, আমরা ঘোষণা করতে হবে আমাদের নিজস্ব তথ্য টাইপ, সি আমাদের নিজস্ব ধরন, 13 00:00:39,095 --> 00:00:42,660 সি এর লেখক অগত্যা না যে বছর আগে মনে হয়. 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 boilerplate কোড, এবং আমি এখন আছি এই তথ্য ব্যবহার করতে যাচ্ছে 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 এর এখন যারা তিন উপর বারবার যাক ছাত্র, এবং জন্য ব্যবহারকারীকে অনুরোধ জানানো 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 অর্থাৎ আমি I-তম ছাত্রী চান এখন ছাত্র নামক অ্যারে, কিন্তু 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-% গুলি করা হয়. 57 00:03:07,580 --> 00:03:12,600 ব্যাকস্ল্যাশ এন ", এবং এখন আমার মধ্যে চলা যাক ঐ দুটি ক্ষেত্র মান, 58 00:03:12,600 --> 00:03:19,055 ছাত্র আমি. নাম, কমা বন্ধনী ছাত্র আমি বন্ধনী. বাড়িতে, বন্ধ 59 00:03:19,055 --> 00:03:21,290 paren, সেমিকোলন. 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 মাথের হাউস মধ্যে, ছাত্র এর নাম, এর যাক Lauren বলে, সে Leverett বাস করব 78 00:04:31,580 --> 00:04:36,590 হাউস, ছাত্র এর নাম, রব, তিনি পাবেন কার্কল্যান্ড বাড়িতে বাস. 79 00:04:36,590 --> 00:04:39,440 এবং প্রকৃতপক্ষে, ডেভিড, মাথের হয় Lauren, Leverett হয় 80 00:04:39,440 --> 00:04:40,810 ও রব কার্কল্যান্ড হয়. 81 00:04:40,810 --> 00:04:43,425