1 00:00:00,000 --> 00:00:03,388 >> [موسیقی بجانے] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 ڈوگ لایڈ: ٹھیک. 4 00:00:06,020 --> 00:00:07,680 واحد کے ساتھ کام کر رہے ہیں متغیر خوبصورت مذاق ہے. 5 00:00:07,680 --> 00:00:09,500 لیکن جو ہم چاہتے ہیں کام کرنے کے لئے متغیرات میں سے ایک بہت کچھ کے ساتھ، 6 00:00:09,500 --> 00:00:12,760 لیکن ہم کا ایک گروپ ہے نہیں کرنا چاہتا اپنے کوڈ کے ارد گرد مختلف ناموں پرواز؟ 7 00:00:12,760 --> 00:00:15,980 اس صورت میں، arrays ہیں بہت آسان میں آنے والا. 8 00:00:15,980 --> 00:00:19,510 لڑیوں ایک بہت بنیادی اعداد و شمار ہیں کسی بھی پروگرامنگ زبان کے لئے ڈھانچہ 9 00:00:19,510 --> 00:00:20,260 آپ استعمال کریں گے کہ. 10 00:00:20,260 --> 00:00:24,450 اور وہ، واقعی، واقعی مفید ہیں خاص طور پر، ہم نے کاوچ سرفنگ کے 50 میں، دیکھیں گے کے طور. 11 00:00:24,450 --> 00:00:27,870 >> ہم منعقد کرنے arrays استعمال اسی ڈیٹا کی قسم کی اقدار 12 00:00:27,870 --> 00:00:29,830 ملحق میموری مقامات پر. 13 00:00:29,830 --> 00:00:32,430 یہ ایک ہے، کا کہنا ہے کہ طریقہ ہے کہ ہم نے گروپ کر سکتے ہیں 14 00:00:32,430 --> 00:00:35,430 ساتھ میں integers کے ایک گروپ میموری یا حروف کا ایک گروپ 15 00:00:35,430 --> 00:00:38,270 یا واقعی میموری میں floats ایک دوسرے کے ساتھ بند کرنے اور کام 16 00:00:38,270 --> 00:00:41,930 ان کے ساتھ ایک دینے کے لئے بغیر ایک اپنے لیے ایک منفرد نام، جو کر سکتے ہیں 17 00:00:41,930 --> 00:00:44,500 تھوڑی دیر کے بعد پیچیدہ ملتا ہے. 18 00:00:44,500 --> 00:00:48,130 >> اب، ایک ہی راستہ arrays کے analogize سے آپ کے مقامی پوسٹ کے بارے میں سوچنے کے لئے ہے 19 00:00:48,130 --> 00:00:49,000 ایک سیکنڈ کے لئے دفتر. 20 00:00:49,000 --> 00:00:51,820 تو پروگرامنگ سے دور قدم اور صرف اپنی آنکھیں بند 21 00:00:51,820 --> 00:00:54,120 اور آپ کے دماغ میں مرئی آپ کے مقامی پوسٹ آفس. 22 00:00:54,120 --> 00:00:57,160 عام طور پر، سب سے زیادہ پوسٹ میں دفاتر، ایک بڑے بینک ہے 23 00:00:57,160 --> 00:01:00,490 دیوار پر ایک پوسٹ آفس بکس. 24 00:01:00,490 --> 00:01:03,510 >> ایک صف میں ایک وشال بلاک ہے ملحق میموری کی، 25 00:01:03,510 --> 00:01:06,120 ایک ای میل ہے کہ اسی طرح آپ پوسٹ آفس میں بینک 26 00:01:06,120 --> 00:01:11,230 ایک بڑی جگہ ہے پوسٹ آفس کی دیوار. 27 00:01:11,230 --> 00:01:15,750 لڑیاں، چھوٹے میں تقسیم کر دیا گیا ہے شناختی جگہ کی سائز کے بلاکس، 28 00:01:15,750 --> 00:01:19,930 جن میں سے ہر ایک میں، ایک عنصر کہا جاتا ہے اسی طرح پوسٹ کی دیوار ہے کہ 29 00:01:19,930 --> 00:01:23,840 دفتر، چھوٹے میں تقسیم کر دیا گیا ہے شناختی جگہ کی سائز کے بلاکس، 30 00:01:23,840 --> 00:01:27,560 جو ہم ایک پی او باکس پر کال کریں. 31 00:01:27,560 --> 00:01:31,650 صف کے ہر عنصر کر سکتے ہیں ، اعداد و شمار کے ایک مقررہ رقم ذخیرہ 32 00:01:31,650 --> 00:01:37,540 ایک پوسٹ آفس باکس کے قابل ہے صرف کے طور پر میل کی ایک مقررہ رقم کو منعقد کرنے. 33 00:01:37,540 --> 00:01:41,540 >> میں سے ہر ایک عنصر میں ذخیرہ کیا جا سکتا ہے سرنی ہی اعداد و شمار کے متغیر ہے 34 00:01:41,540 --> 00:01:45,300 اس طرح صرف int یا چار، کے طور پر قسم، آپ پوسٹ آفس باکس میں طرح، 35 00:01:45,300 --> 00:01:47,300 تم صرف باتیں فٹ کر سکتے ہیں اسی طرح کی ایک قسم کی، 36 00:01:47,300 --> 00:01:50,430 اس طرح کے خطوط یا چھوٹے پیکجوں کے. 37 00:01:50,430 --> 00:01:55,050 آخر میں، ہم میں سے ہر ایک عنصر تک رسائی حاصل کر سکتے ہیں براہ راست انڈیکس تعداد کی طرف سے صف، 38 00:01:55,050 --> 00:01:59,770 ہم ہماری پوسٹ آفس تک رسائی کر سکتے ہیں صرف کے طور پر اس میل باکس نمبر جاننے کی طرف سے باکس. 39 00:01:59,770 --> 00:02:02,750 امید ہے کہ، کہ قیاس تم نے اپنے سر میں مدد ملتی ہے 40 00:02:02,750 --> 00:02:05,540 arrays کے خیال کی طرف سے کے ارد گرد کچھ اور analogizing 41 00:02:05,540 --> 00:02:08,400 آپ کو شاید ہو ساتھ پہلے ہی واقف. 42 00:02:08,400 --> 00:02:13,182 >> C میں، ایک سرنی کے عناصر ہیں 1 کی طرف سے نہیں، 0 سے شروع ہونے والے حساب سے ترتیب. 43 00:02:13,182 --> 00:02:14,390 یہ بہت ضروری ہے. 44 00:02:14,390 --> 00:02:18,530 ہم کیوں اور حقیقت میں، یہ ہے، کاوچ سرفنگ کے 50 میں، اکثر اور کیوں کمپیوٹر سائنسدانوں 45 00:02:18,530 --> 00:02:22,150 0 سے شمار کیا جائے گا، ہے کیونکہ سی کی صف کے 46 00:02:22,150 --> 00:02:24,660 ہمیشہ 0 سے شروع ہوتی ہے جس تخکرمن،. 47 00:02:24,660 --> 00:02:28,730 ایک سرنی ن عناصر پر مشتمل ہے تو، اس صف کے پہلے عنصر 48 00:02:28,730 --> 00:02:32,960 ، 0 انڈیکس میں واقع ہے اور صف کے آخری عنصر 49 00:02:32,960 --> 00:02:36,610 انڈیکس ن مائنس 1 میں واقع ہے. 50 00:02:36,610 --> 00:02:43,160 ایک بار پھر، میں ن عناصر موجود ہے تو ہماری صف، آخری انڈیکس ن مائنس 1 ہے. 51 00:02:43,160 --> 00:02:46,820 >> تو ہمارے صف 50 عناصر، ہے تو پہلا عنصر، 0 انڈیکس میں واقع ہے 52 00:02:46,820 --> 00:02:51,060 اور آخری عنصر انڈیکس 49 میں واقع ہے. 53 00:02:51,060 --> 00:02:53,940 بدقسمتی سے، یا خوش قسمتی سے، آپ کے نقطہ نظر پر منحصر ہے، 54 00:02:53,940 --> 00:02:56,170 سی یہاں بہت ادار ہے. 55 00:02:56,170 --> 00:02:59,480 اس سے آپ کو روکنے کے نہیں کرے گا اپنے صف کی حد سے باہر جانے. 56 00:02:59,480 --> 00:03:03,080 آپ کو مائنس تک رسائی حاصل کر سکتے ہیں اپنے صف کی 3 عنصر 57 00:03:03,080 --> 00:03:07,400 یا اپنے صف کی 59th عنصر، اپنے صف صرف 50 عناصر ہے تو. 58 00:03:07,400 --> 00:03:11,060 اس سے آپ کے پروگرام کو روکنے کے نہیں کرے گا تالیف، لیکن چلانے کے وقت، 59 00:03:11,060 --> 00:03:14,350 آپ کو ایک کا سامنا ہو سکتا خطرناک انقطاع غلطی 60 00:03:14,350 --> 00:03:17,460 آپ میموری تک رسائی حاصل کرنے کے لئے شروع تو کہ جو حد سے باہر ہے 61 00:03:17,460 --> 00:03:19,260 آپ کو دینے کے لئے آپ کے پروگرام سے پوچھا. 62 00:03:19,260 --> 00:03:21,250 لہذا ہوشیار رہنا ہے. 63 00:03:21,250 --> 00:03:23,120 >> کیا ایک سرنی کرتا ہے اعلان کی طرح نظر آتے ہیں؟ 64 00:03:23,120 --> 00:03:26,940 ہم وجود میں ایک سرنی کوڈ کیسے جیسے ہم کسی دوسرے متغیر کوڈ؟ 65 00:03:26,940 --> 00:03:31,250 تین حصوں ایک سرنی کے ہیں ایک قسم declaration--، ایک نام، 66 00:03:31,250 --> 00:03:31,880 اور ایک سائز. 67 00:03:31,880 --> 00:03:34,088 یہ ایک بہت ملتا جلتا ہے متغیر اعلان، جس 68 00:03:34,088 --> 00:03:36,970 صرف ایک قسم اور ایک نام ہے، کیا جا رہا ہے سائز عنصر 69 00:03:36,970 --> 00:03:39,860 ایک صف کے لئے خصوصی کیس، ہم ان میں سے ایک گروپ حاصل کر رہے ہیں کی وجہ سے 70 00:03:39,860 --> 00:03:41,830 عین اسی وقت پر. 71 00:03:41,830 --> 00:03:45,560 >> تو قسم متغیر کی قسم کیا ہے آپ صف کے ہر عنصر بننا چاہتا ہوں. 72 00:03:45,560 --> 00:03:47,150 integers کے ایک صف کے لئے یہ کرنا چاہتے ہیں؟ 73 00:03:47,150 --> 00:03:49,010 پھر، آپ کے ڈیٹا قسم int ہونا چاہئے. 74 00:03:49,010 --> 00:03:51,760 تم نے اسے ایک بننا چاہتے ہیں ڈبلز یا floats کی صف؟ 75 00:03:51,760 --> 00:03:54,545 ڈیٹا کی قسم ڈبل ہو یا فلوٹ چاہئے. 76 00:03:54,545 --> 00:03:56,420 نام کیا ہے آپ اپنے صف فون کرنا چاہتے ہیں. 77 00:03:56,420 --> 00:04:00,970 آپ کو اس وشال نام کرنا چاہتے ہیں کیا integers کے یا floats کے یا حروف کے بینک 78 00:04:00,970 --> 00:04:03,250 یا ڈبلز، یا جو کچھ بھی آپ کے پاس؟ 79 00:04:03,250 --> 00:04:04,700 کیا آپ اسے فون کرنا چاہتے ہیں؟ 80 00:04:04,700 --> 00:04:06,110 خوبصورت خود وضاحتی. 81 00:04:06,110 --> 00:04:08,610 >> جاتا ہے جس میں آخر میں، سائز، مربع بریکٹ کے اندر، 82 00:04:08,610 --> 00:04:12,180 ہے کہ کس طرح بہت سے عناصر تم کروگی آپ کی صف پر مشتمل طرح. 83 00:04:12,180 --> 00:04:13,530 آپ کے پاس کتنے integers کے چاہتے ہیں؟ 84 00:04:13,530 --> 00:04:15,570 تم کس طرح بہت floats چاہتے ہیں؟ 85 00:04:15,570 --> 00:04:19,070 >> لہذا مثال کے طور، طالب علم گریڈ 40 int کی. 86 00:04:19,070 --> 00:04:26,020 یہ طالب علم نامی ایک سرنی کا اعلان 40 integers کے پر مشتمل ہے جس گریڈ،. 87 00:04:26,020 --> 00:04:28,180 خوبصورت خود وضاحتی، مجھے امید ہے کہ. 88 00:04:28,180 --> 00:04:29,330 یہاں ایک اور مثال ہے. 89 00:04:29,330 --> 00:04:31,560 ڈبل مینو قیمتوں 8. 90 00:04:31,560 --> 00:04:34,610 یہ کہا جاتا ہے ایک سرنی پیدا پر مشتمل ہے جس میں مینو کی قیمتوں، 91 00:04:34,610 --> 00:04:38,300 آٹھ ڈبلز کے لئے یاد میں کمرے کی. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> آپ کو ہر عنصر کے بارے میں سوچنا تو قسم ڈیٹا کی قسم کی ایک سرنی کی، 94 00:04:45,750 --> 00:04:49,860 تو مثال کے طور پر، ایک عنصر قسم int کی ایک سرنی، اسی طرح آپ کو 95 00:04:49,860 --> 00:04:52,770 کسی دوسرے کے بارے میں سوچ گے قسم int متغیر، 96 00:04:52,770 --> 00:04:56,440 تمام واقف آپریشن ہم اس آپریشنز میں پہلے بحث 97 00:04:56,440 --> 00:04:58,270 ویڈیو احساس کرے گا. 98 00:04:58,270 --> 00:05:01,620 تو یہاں، ہم ایک صف کا اعلان کر سکتے ہیں Truthtable بلایا Booleans کا، 99 00:05:01,620 --> 00:05:05,590 جس میں 10 Booleans کے لئے کمرے پر مشتمل ہے. 100 00:05:05,590 --> 00:05:09,650 >> اور پھر، ہم صرف تفویض سکتا ہے کی طرح قسم کے کسی بھی دوسرے متغیر کی قدر 101 00:05:09,650 --> 00:05:13,470 بولین، ہم کچھ کہہ سکتے ہیں Truthtable مربع بریکٹ کی طرح 102 00:05:13,470 --> 00:05:18,040 ہم اس بات کی نشاندہی ہے کہ کس طرح ہے جس میں 2،، جو حق کی میز کا عنصر؟ 103 00:05:18,040 --> 00:05:20,350 کا تیسرا عنصر سچ کی میز، یاد ہے کیونکہ، 104 00:05:20,350 --> 00:05:21,800 ہم 0 سے گنتی کر رہے ہیں. 105 00:05:21,800 --> 00:05:25,690 تو ہے کہ ہم اس بات کی نشاندہی کے لئے کس طرح ہے سچ ٹیبل کے تیسرا عنصر. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2، جھوٹے برابر ہم اعلان کر سکتے ہیں جیسے 107 00:05:28,680 --> 00:05:33,560 یا ہم کسی بھی، بلکہ، تفویض کر سکتا ہے بولین قسم متغیر جھوٹے ہونے کے لئے. 108 00:05:33,560 --> 00:05:35,050 >> ہم نے بھی حالات میں استعمال کر سکتے ہیں. 109 00:05:35,050 --> 00:05:39,000 (truthtable 7 == تو کہنا ہے جو سچ)،، 110 00:05:39,000 --> 00:05:42,370 آٹھویں عنصر تو Truthtable کے، سچ ہے 111 00:05:42,370 --> 00:05:46,760 شاید ہم ایک پیغام کو پرنٹ کرنا چاہتے ہیں صارف، printf ("کی سچ! N") کے لئے؛ 112 00:05:46,760 --> 00:05:50,290 یہ Truthtable کہنا ہمیں سبب بنتا ہے 10 حق، سچ برابر ہے؟ 113 00:05:50,290 --> 00:05:53,590 ٹھیک ہے، میں کر سکتے ہیں، لیکن یہ خوبصورت ہے خطرناک، کیونکہ، یاد 114 00:05:53,590 --> 00:05:56,260 ہم 10 Booleans کا ایک صف ہے. 115 00:05:56,260 --> 00:06:02,340 تو سب سے زیادہ انڈیکس ہے کہ سنکلک ہم 9 دی ہے. 116 00:06:02,340 --> 00:06:06,010 >> اس پروگرام مرتب کریں گے، لیکن اگر یاد میں کچھ اور 117 00:06:06,010 --> 00:06:09,110 جہاں ہم کریں گے موجود Truthtable 10 جانے کی توقع، 118 00:06:09,110 --> 00:06:13,980 ہم ایک انقطاع غلطی کا شکار کر سکتے ہیں. ہم اس کے ساتھ دور ہو سکتا ہے، لیکن عام طور پر، 119 00:06:13,980 --> 00:06:14,710 بہت خطرناک. 120 00:06:14,710 --> 00:06:19,759 تو کیا میں یہاں کیا کر رہا ہوں قانونی سی ہے، لیکن ضروری نہیں کہ سب سے بہتر اقدام. 121 00:06:19,759 --> 00:06:22,300 اب، آپ کا اعلان جب ایک ہی وقت میں ایک صف کی ابتدا، 122 00:06:22,300 --> 00:06:23,960 اصل میں ایک خوبصورت ہے خصوصی نحو کہ آپ 123 00:06:23,960 --> 00:06:26,250 صف کو بھرنے کے لئے استعمال کر سکتے ہیں اس کے شروع کرنے کی اقدار کے ساتھ. 124 00:06:26,250 --> 00:06:30,130 یہ کرنے کے لئے پیچیدہ حاصل کر سکتے ہیں ، سائز 100 کے ایک صف کا اعلان 125 00:06:30,130 --> 00:06:33,430 اور اس کے بعد کا کہنا ہے کہ، عنصر 0 اس کے برابر ہے؛ عنصر 1 اس کے برابر؛ 126 00:06:33,430 --> 00:06:34,850 عنصر 2 جو کہ برابر ہے. 127 00:06:34,850 --> 00:06:36,370 صحیح، کیا بات ہے؟ 128 00:06:36,370 --> 00:06:39,470 >> یہ ایک چھوٹا سا صف ہے تو، آپ کو کچھ اس طرح کر سکتے ہیں. 129 00:06:39,470 --> 00:06:44,360 bool کے truthtable 3 کھولیں برابر گھوبگھرالی منحنی خطوط وحدانی اور پھر کوما 130 00:06:44,360 --> 00:06:48,060 عناصر کی فہرست الگ آپ کو صف میں ڈال کرنا چاہتے ہیں کہ. 131 00:06:48,060 --> 00:06:50,520 پھر گھوبگھرالی تسمہ نیم وقفہ بند. 132 00:06:50,520 --> 00:06:53,910 اس کی ایک سرنی پیدا سائز Truthtable بلایا تین، 133 00:06:53,910 --> 00:06:56,090 عناصر، صحیح، اور سچ کے ساتھ. 134 00:06:56,090 --> 00:06:59,270 اور حقیقت میں، instantiation میں یہاں ہے نحو ہے 135 00:06:59,270 --> 00:07:03,350 کرنے کے طور پر بالکل اسی نیچے انفرادی عنصر نحو. 136 00:07:03,350 --> 00:07:09,380 کوڈنگ کی ان دو طریقوں گے عین مطابق ایک ہی صف پیدا. 137 00:07:09,380 --> 00:07:11,740 >> اسی طرح، ہم iterate سکتا عناصر میں سے سب سے زیادہ 138 00:07:11,740 --> 00:07:15,400 ایک لوپ استعمال کرتے ہوئے ایک صف، جو، میں حقیقت یہ ہے کہ، ایک بہت سختی سے سفارش کی جاتی ہے 139 00:07:15,400 --> 00:07:16,790 گھر ورزش. 140 00:07:16,790 --> 00:07:20,720 کس طرح آپ کو ایک صف تشکیل دے سکتا ہوں 100 integers کے، جہاں 141 00:07:20,720 --> 00:07:23,477 صف کے ہر عنصر اس انڈیکس ہے؟ 142 00:07:23,477 --> 00:07:26,560 لہذا مثال کے طور، ہم نے 100 کی ایک سرنی ہے integers کے، اور سب سے پہلے عنصر میں، 143 00:07:26,560 --> 00:07:27,790 ہم 0 ڈال کرنا چاہتے ہیں. 144 00:07:27,790 --> 00:07:29,810 دوسرا عنصر میں، ہم 1 ڈال کرنا چاہتے ہیں. 145 00:07:29,810 --> 00:07:33,319 تیسرا عنصر میں، ہم چاہتے ہیں 2 ڈال کرنے کے لئے؛ اور تو اور تو. 146 00:07:33,319 --> 00:07:35,360 یہ ایک بہت اچھا ہے گھر ورزش ایسا کرنے کے لئے. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> یہاں، یہ نظر نہیں آتی کی طرح بہت زیادہ تبدیل کر دیا گیا. 149 00:07:40,220 --> 00:07:44,170 لیکن درمیان میں محسوس مربع بریکٹ، اس وقت، 150 00:07:44,170 --> 00:07:45,830 میں اصل تعداد لپ ہے. 151 00:07:45,830 --> 00:07:48,000 آپ استعمال کر رہے ہیں تو یہ بہت خصوصی instantiation 152 00:07:48,000 --> 00:07:50,380 نحو ایک پیدا کرنے کے لئے سرنی، آپ اصل میں ایسا نہیں کرتے 153 00:07:50,380 --> 00:07:53,491 سائز کی نشاندہی کرنے کی ضرورت ہے صف کے پہلے. 154 00:07:53,491 --> 00:07:55,740 سنکلک کافی ہوشیار ہے اصل میں آپ کو پتہ ہے کہ 155 00:07:55,740 --> 00:07:58,980 ، سائز 3 کی ایک سرنی چاہتے ہیں آپ کو تین عناصر ڈال دیا ہے 156 00:07:58,980 --> 00:08:00,640 برابر علامت کے دائیں جانب. 157 00:08:00,640 --> 00:08:04,140 آپ کو چار ڈال دیا تھا، تو یہ ہوگا آپ کے سائز چار میں سے ایک سچ ٹیبل دیا؛ 158 00:08:04,140 --> 00:08:06,270 اور تو اور تو. 159 00:08:06,270 --> 00:08:09,380 >> لڑیوں ایک تک محدود نہیں کر رہے ہیں بہت اچھی بات ہے جس کے طول و عرض،. 160 00:08:09,380 --> 00:08:12,000 تم واقعی میں کئی کے طور پر ہو سکتا ہے ضمنی specifiers جیسا تم چاہو. 161 00:08:12,000 --> 00:08:16,470 لہذا مثال کے طور، آپ کو بنانے کے لئے چاہتے ہیں تو کھیل یودقپوٹ کے لئے ایک بورڈ، جس، 162 00:08:16,470 --> 00:08:20,910 کیا تم نے کبھی ادا کیا تو، ہے کہ ایک کھیل ہے 10 گرڈ کی طرف سے 10 گلاس کے ساتھ ادا کیا، 163 00:08:20,910 --> 00:08:22,450 آپ کو اس طرح ایک صف کی پیدا کر سکتا ہے. 164 00:08:22,450 --> 00:08:26,030 تم Bool کی کہہ سکتے ہیں یودقپوٹ مربع بریکٹ 10 165 00:08:26,030 --> 00:08:29,590 بند مربع بریکٹ مربع بریکٹ 10 مربع بریکٹ بند. 166 00:08:29,590 --> 00:08:32,710 >> اور پھر، آپ کو منتخب کر سکتے ہیں ایک 10 کے طور پر آپ کے دماغ میں اس کی تشریح 167 00:08:32,710 --> 00:08:35,576 خلیات کے 10 گرڈ کی طرف سے. 168 00:08:35,576 --> 00:08:37,409 اب، حقیقت میں، یاد میں، یہ واقعی صرف کرتا ہے 169 00:08:37,409 --> 00:08:42,440 ، ایک 100 عنصر رہیں واحد جہتی سرنی. 170 00:08:42,440 --> 00:08:46,070 یہ، حقیقت میں، اگر آپ کے لئے جاتا ہے تین طول و عرض یا چار یا پانچ ہے. 171 00:08:46,070 --> 00:08:49,420 یہ واقعی صرف ضرب ہے indices-- کے تمام 172 00:08:49,420 --> 00:08:51,130 یا سائز کے تمام ایک دوسرے کے ساتھ specifiers--، 173 00:08:51,130 --> 00:08:53,480 اور آپ کو صرف ایک جہتی حاصل اس سائز کی سرنی. 174 00:08:53,480 --> 00:08:57,090 >> لیکن ہمارے ادارے کے لحاظ سے اور تصور اور انسانی آگاہی، 175 00:08:57,090 --> 00:08:59,240 یہ ایک بہت آسان ہو سکتا ہے ایک گرڈ کے ساتھ کام کرنے کے لئے 176 00:08:59,240 --> 00:09:02,980 آپ کو ایک کھیل پر کام کر رہے ہیں تو Tic دوسس پیر یا یودقپوٹ کی طرح، 177 00:09:02,980 --> 00:09:05,179 یا اس طرح کچھ. 178 00:09:05,179 --> 00:09:06,970 یہ ایک عظیم تجرید ہے، بجائے ہونے کے 179 00:09:06,970 --> 00:09:09,340 ایک Tic دوسس پیر کے بارے میں سوچنا نو کی ایک لائن کے طور پر بورڈ 180 00:09:09,340 --> 00:09:13,810 چوکوں یا یودقپوٹ بورڈ 100 چوکوں کی ایک لائن کے طور پر. 181 00:09:13,810 --> 00:09:16,010 10 گرڈ یا ایک تین کی طرف سے ایک 10 تین کی طرف سے گرڈ شاید ہے 182 00:09:16,010 --> 00:09:17,225 ایک بہت زیادہ آسان خبر کرنے. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> اب، کچھ واقعی arrays کے بارے میں اہم. 185 00:09:22,280 --> 00:09:25,950 ہم ہر فرد کا علاج کر سکتے ہیں ایک متغیر کے طور پر صف کے عنصر. 186 00:09:25,950 --> 00:09:27,700 ہم نے اس سے پہلے دیکھا جب ہم بتائے تھے 187 00:09:27,700 --> 00:09:32,240 بعض Booleans کے کرنے کے لئے صحیح قیمت یا کونداٹاونالس میں ان کے ٹیسٹ. 188 00:09:32,240 --> 00:09:35,960 لیکن ہم پورے کا علاج نہیں کر سکتے ہیں متغیر کے طور پر خود arrays پر. 189 00:09:35,960 --> 00:09:41,760 ہم، مثال کے طور پر، ایک سرنی تفویض نہیں کر سکتے ہیں تفویض استعمال کرتے ہوئے ایک سرنی کے لئے 190 00:09:41,760 --> 00:09:42,930 آپریٹر. 191 00:09:42,930 --> 00:09:44,640 یہ قانونی سی نہیں ہے 192 00:09:44,640 --> 00:09:47,920 >> ہم مثال کے لئے، کرنے کے لئے کرنا چاہتے ہیں تو کیا ہم اس مثال میں کر دیا جائے گا 193 00:09:47,920 --> 00:09:50,200 دوسرے میں ایک صف کی کاپی کرنے کی ہو جائے گا. 194 00:09:50,200 --> 00:09:53,810 ہم اس، ہم اصل میں کرنا چاہتے ہیں تو کاپی ختم کرنے کے لئے ایک لوپ استعمال کرنے کی ضرورت 195 00:09:53,810 --> 00:09:56,550 ایک وقت میں ہر فرد عنصر ایک. 196 00:09:56,550 --> 00:09:58,700 میں نے اسے خرچ تھوڑا وقت پتہ. 197 00:09:58,700 --> 00:10:04,022 >> لہذا مثال کے طور پر، ہم نے ان جوڑے تھا کوڈ کی لائنوں کی، یہ کام کرے گا؟ 198 00:10:04,022 --> 00:10:05,230 ویسے، کوئی، یہ درست ہے، نہیں کرے گا؟ 199 00:10:05,230 --> 00:10:07,860 ہم کوشش کر رہے ہیں کیونکہ بار کھانے تفویض کرنے. 200 00:10:07,860 --> 00:10:09,860 یہ کام کرنے کے لئے نہیں جا رہا ہے، یہ ایک صف ہے کیونکہ، 201 00:10:09,860 --> 00:10:13,130 اور ہم صرف بیان قانونی سی نہیں ہے کہ 202 00:10:13,130 --> 00:10:15,580 >> اس کے بجائے، ہم کرنا چاہتے ہیں تو کھانے کی مواد کو کاپی 203 00:10:15,580 --> 00:10:18,070 کیا ہے جو بار، میں ہم یہاں کیا کرنے کی کوشش کر رہے ہیں 204 00:10:18,070 --> 00:10:19,970 ہم اس طرح ایک نحوی کی ضرورت ہو گی. 205 00:10:19,970 --> 00:10:24,170 ہم نے ایک لوپ کے لئے جاتا ہے کہ ہے J کی طرف سے، 5 0 کے برابر ہے 206 00:10:24,170 --> 00:10:28,390 اور ہم کے ہر iteration پر جے اضافہ لوپ اور اس طرح تفویض عناصر. 207 00:10:28,390 --> 00:10:33,360 یہ بھی بار کے نتیجے میں کیا جا رہا ہے ایک، دو، تین، چار، پانچ، 208 00:10:33,360 --> 00:10:36,730 لیکن ہم بہت یہ کرنا ہے سست عنصر بہ عنصر طریقہ، 209 00:10:36,730 --> 00:10:40,009 کی بجائے صرف کی طرف سے پوری صف کاپی. 210 00:10:40,009 --> 00:10:42,050 دیگر پروگرامنگ میں زبانوں، زیادہ جدید ہیں، 211 00:10:42,050 --> 00:10:45,610 آپ، حقیقت میں، صرف کر سکتے ہیں کہ نحو آسان برابر. 212 00:10:45,610 --> 00:10:49,620 لیکن C، بدقسمتی سے، ہم ہیں ایسا کرنے کے لئے کی اجازت نہیں. 213 00:10:49,620 --> 00:10:52,026 >> اب، ایک دوسرے سے ہے بات میں ذکر کرنا چاہتا ہوں 214 00:10:52,026 --> 00:10:54,650 arrays کے بارے میں ہے کہ ایک چھوٹا سا ہو سکتا تھوڑا مشکل پہلی بار آپ 215 00:10:54,650 --> 00:10:55,990 ان کے ساتھ کام کرتے ہیں. 216 00:10:55,990 --> 00:10:59,860 ہم نے ایک ویڈیو میں بحث متغیر دائرہ کار کے بارے، 217 00:10:59,860 --> 00:11:04,940 کہ جب آپ کال سی میں سب سے زیادہ متغیر، ان افعال میں، قیمت کی طرف سے گزر رہے ہیں. 218 00:11:04,940 --> 00:11:08,620 آپ اس کا مطلب کیا یاد ہے قیمت کی طرف سے کچھ منتقل کرنے کی؟ 219 00:11:08,620 --> 00:11:12,570 یہ ہم کی ایک کاپی کر رہے ہیں کا مطلب ہے کہ میں منظور کیا جا رہا ہے کہ متغیر. 220 00:11:12,570 --> 00:11:16,290 Callee کی تقریب، تقریب کہ، متغیر وصول کرنا ہے 221 00:11:16,290 --> 00:11:17,730 خود متغیر نہیں ملتا. 222 00:11:17,730 --> 00:11:20,850 یہ اس کے اپنے مقامی ہو جاتا ہے اس کے نقل کے ساتھ کام کرنے کے لئے. 223 00:11:20,850 --> 00:11:24,070 >> لڑیاں، کورس کے، ایسا اس اصول کی پیروی نہیں. 224 00:11:24,070 --> 00:11:27,600 بلکہ، ہم نے یہ کیا کہتے ہیں ریفرنس کی طرف سے گزر رہا ہے. 225 00:11:27,600 --> 00:11:31,360 Callee کی اصل سرنی حاصل ہے. 226 00:11:31,360 --> 00:11:34,207 اسے حاصل نہیں ہے اس کی اس کے اپنے مقامی نقل. 227 00:11:34,207 --> 00:11:36,040 اور آپ کے بارے میں لگتا ہے کہ اگر یہ اس کا احساس کرتا ہے. 228 00:11:36,040 --> 00:11:39,750 arrays کے بہت بڑی ہیں، تو یہ اتنا وقت اور کوشش کرتا ہے 229 00:11:39,750 --> 00:11:44,470 کی ایک سرنی کی ایک کاپی بنانے کے لئے 100 یا 1،000 یا 10،000 عناصر، 230 00:11:44,470 --> 00:11:48,290 یہ ایک کے لئے اس کے قابل نہیں ہے کہ اس کی ایک نقل حاصل کرنے کے لئے کام، 231 00:11:48,290 --> 00:11:51,037 پھر اس کے ساتھ کچھ کام کرنا، اور صرف کاپی کے ساتھ کیا کیا جائے؛ 232 00:11:51,037 --> 00:11:53,120 اسے حاصل کرنے کی ضرورت نہیں ہے یہ اب کے ارد گرد پھانسی. 233 00:11:53,120 --> 00:11:54,710 >> arrays ہیں کیونکہ کچھ بڑا اور پیچیدہ، 234 00:11:54,710 --> 00:11:56,001 ہم صرف ریفرنس کی طرف سے ان کے پاس. 235 00:11:56,001 --> 00:12:01,210 ہم صرف اس تقریب پر اعتماد ، کچھ کو توڑنے نہیں ہے. 236 00:12:01,210 --> 00:12:03,010 تو یہ اصل میں صف حاصل کرتا ہے. 237 00:12:03,010 --> 00:12:05,290 یہ اس کی اپنی مقامی نقل حاصل نہیں ہے. 238 00:12:05,290 --> 00:12:07,170 >> تو اس کا کیا مطلب ہے، پھر جب Callee کی 239 00:12:07,170 --> 00:12:08,970 صف کے عناصر میں manipulates؟ 240 00:12:08,970 --> 00:12:10,780 کیا ہوتا ہے؟ 241 00:12:10,780 --> 00:12:13,210 اب کے لئے، ہم ٹیکہ گے کیوں بالکل اس سے زیادہ 242 00:12:13,210 --> 00:12:15,320 ، کیوں لڑیاں ہوتا ریفرنس کی طرف سے منظور کر رہے ہیں 243 00:12:15,320 --> 00:12:17,810 اور سب کچھ قدر کی طرف سے منظور کیا جاتا ہے. 244 00:12:17,810 --> 00:12:20,470 لیکن میں تم سے وعدہ، ہم واپس اور آپ کو جواب دے 245 00:12:20,470 --> 00:12:23,750 بعد میں کسی ویڈیو میں اس کے. 246 00:12:23,750 --> 00:12:28,110 >> یہاں آپ کے لئے ایک مشق ہے ہم arrays پر چیزوں کو لپیٹ پہلے. 247 00:12:28,110 --> 00:12:31,400 یہاں کوڈ کے گروپ، ہے خاص طور پر اچھا سٹائل، 248 00:12:31,400 --> 00:12:33,400 صرف میں نے اس انتباہ بنا دیں گے. 249 00:12:33,400 --> 00:12:36,660 یہاں کوئی تبصرہ نہیں ہے، جس میں خوبصورت برا شکل ہے. 250 00:12:36,660 --> 00:12:39,750 لیکن اس میں بننا چاہتی تھی کیونکہ صرف ہے سکرین پر سب کچھ فٹ کرنے کے قابل. 251 00:12:39,750 --> 00:12:44,360 >> سب سے اوپر، آپ میں ہے کہ دیکھ سکتے ہیں سیٹ سرنی کے لئے دو تقریب کا اعلان 252 00:12:44,360 --> 00:12:45,820 اور int مقرر. 253 00:12:45,820 --> 00:12:49,680 سیٹ سرنی بظاہر ایک سرنی لیتا اس کی ان پٹ کے طور پر چار integers کے. 254 00:12:49,680 --> 00:12:52,767 اور سیٹ INT بظاہر لیتا اس کی ان پٹ کے طور پر ایک عددی. 255 00:12:52,767 --> 00:12:54,350 لیکن ان میں سے دونوں کو ایک کی پیداوار نہیں ہے. 256 00:12:54,350 --> 00:12:57,689 پیداوار، واپسی ہر ایک باطل ہے، ٹائپ. 257 00:12:57,689 --> 00:12:59,480 اہم میں، ہم نے ایک کوڈ کی لائنوں کی جوڑے. 258 00:12:59,480 --> 00:13:02,730 ہم ایک عددی متغیر کا اعلان ایک ملاقات کی اور اس کی قیمت 10 تفویض. 259 00:13:02,730 --> 00:13:07,080 ہم چار integers کے ایک صف کا اعلان بی بلایا اور عناصر 0، 1 تفویض، 260 00:13:07,080 --> 00:13:08,730 بالترتیب 2، اور 3،. 261 00:13:08,730 --> 00:13:12,190 پھر، ہم قائم کرنے کے لئے ایک کال ہے int اور ایک کال سرنی قائم کرنے کے لئے. 262 00:13:12,190 --> 00:13:15,910 سیٹ صف اور سیٹ کی تعریف INT نچلے حصے میں، نیچے ہیں. 263 00:13:15,910 --> 00:13:17,640 >> اور اس طرح، ایک بار پھر، میں تجھ سے سوال پوچھنا. 264 00:13:17,640 --> 00:13:20,770 کیا باہر طباعت جاتا ہے یہاں اہم کے آخر میں؟ 265 00:13:20,770 --> 00:13:23,020 پرنٹ آؤٹ کرنل نہیں ہے. ہوں دو integers چھپائی. 266 00:13:23,020 --> 00:13:28,010 میں ایک کے مندرجات باہر پرنٹ کر رہا ہوں اور بی مربع بریکٹ 0 کے مندرجات. 267 00:13:28,010 --> 00:13:29,880 یہاں ویڈیو کو روکنے اور ایک لمحے کے لئے. 268 00:13:29,880 --> 00:13:35,482 تم کیا اس پتہ کر سکتے ہیں تقریب کے اختتام پر پرنٹ کرے گا؟ 269 00:13:35,482 --> 00:13:38,190 امید ہے، آپ کو یاد ہے قیمت کی طرف سے گزر کے درمیان فرق 270 00:13:38,190 --> 00:13:41,680 اور ریفرنس سے گزر، اس مسئلہ آپ کے لئے بہت مشکل نہیں تھا. 271 00:13:41,680 --> 00:13:44,130 کا جواب اور آپ گے پتہ چلا ہے کہ یہ ہے. 272 00:13:44,130 --> 00:13:47,660 آپ کے طور پر سچ میں یقین نہیں ہیں، تو اس صورت ہے کیوں،، ایک دوسرے لے 273 00:13:47,660 --> 00:13:50,620 واپس جانا، میں صرف کیا تھا کا جائزہ لینے کے arrays کے گزر کے بارے میں بحث 274 00:13:50,620 --> 00:13:53,450 ریفرنس کی طرف سے، گزرنے بمقابلہ قیمت کی طرف سے دوسرے متغیر، 275 00:13:53,450 --> 00:13:56,680 اور امید ہے کہ، یہ کر دونگا تھوڑا سا زیادہ احساس. 276 00:13:56,680 --> 00:13:59,760 >> میں ڈوگ لایڈ ہوں، اور اس CS50 ہے. 277 00:13:59,760 --> 00:14:01,467