1 00:00:00,000 --> 00:00:02,480 >> [موسیقی بجانے] 2 00:00:02,480 --> 00:00:06,460 3 00:00:06,460 --> 00:00:09,350 >> ڈوگ لایڈ: ٹھیک ہے، تو چلو کمانڈ لائن کے دلائل کے بارے میں بات. 4 00:00:09,350 --> 00:00:11,800 تو، اب تک کورس میں خوبصورت آپ کے پروگراموں کی زیادہ سے زیادہ تمام 5 00:00:11,800 --> 00:00:16,360 شاید شروع کر دیا ہے this-- int اہم باطل کی طرح. 6 00:00:16,360 --> 00:00:18,310 ہم جمع کر دیا گیا ہے صارف کی ان پٹ ہم اس کی ضرورت ہے تو 7 00:00:18,310 --> 00:00:21,080 اس طرح کے طور پر ہمارے پروگراموں میں ماریو پروگرام، مثال کے طور پر، 8 00:00:21,080 --> 00:00:22,990 میں پروگرام کا اشارہ کی طرف سے. 9 00:00:22,990 --> 00:00:25,190 ہم پر نظر ثانی کرنے کی ضرورت نہیں ہے اہم اعلان، 10 00:00:25,190 --> 00:00:30,684 کیونکہ اس کی بجائے اہم ہم کے اندر خصوصا آپ INT حاصل کرنے کے لئے کال کر سکتے ہیں، کا کہنا ہے کہ. 11 00:00:30,684 --> 00:00:32,350 کس طرح بڑے آپ پرامڈ ہو کرنا چاہتے ہیں؟ 12 00:00:32,350 --> 00:00:34,455 یا آپ کو حاصل کرنے کے لئے کال کر سکتے ہیں کتنا تبدیلی فلوٹ 13 00:00:34,455 --> 00:00:36,400 صارف کو میں پیداوار کرنا چاہئے؟ 14 00:00:36,400 --> 00:00:38,630 >> ایک اور طریقہ، اگرچہ نہیں ہے اور ہم نے اپنے صارفین کو چاہتے ہیں تو 15 00:00:38,630 --> 00:00:40,580 فراہم کرنے کے لئے کے قابل ہو جائے ہمارے پروگرام کے اعداد و شمار 16 00:00:40,580 --> 00:00:43,320 بجائے جبکہ رن ٹائم میں پروگرام، چل رہا ہے 17 00:00:43,320 --> 00:00:45,910 ایک ٹھیک ٹھیک فرق لیکن کبھی کبھی ایک بہت ہی مفید، 18 00:00:45,910 --> 00:00:48,120 ہم نے اہم اعلان کا ایک نیا فارم کی ضرورت ہے. 19 00:00:48,120 --> 00:00:53,320 ہم کرنا چاہتے ہیں تو int اہم باطل کا استعمال نہیں کر سکتے ہیں کمانڈ لائن پر دوسرے اعداد و شمار کو جمع 20 00:00:53,320 --> 00:00:57,540 صارف کے پروگرام چلتا ہے جب، اس وجہ سے کمانڈ لائن کے دلائل. 21 00:00:57,540 --> 00:00:59,810 >> ان کمانڈ لائن جمع کرنے کے لئے صارف کی طرف سے دلائل، 22 00:00:59,810 --> 00:01:03,140 آپ کے اعلامیہ تبدیل this-- int کی طرح دیکھنے کے لئے اہم 23 00:01:03,140 --> 00:01:10,450 اہم، کھلی قوس، argc int ہے، کوما، سٹرنگ argv، مربع بریکٹ، 24 00:01:10,450 --> 00:01:12,670 اور پھر گھوبگھرالی تسمہ کھولنے. 25 00:01:12,670 --> 00:01:14,415 تو اس نے پہلے ہی کیا مطلب ہے؟ 26 00:01:14,415 --> 00:01:19,410 ٹھیک ہے، ہم دو پیرامیٹرز میں گزر رہے ہیں، اہم یا دلائل، یا آدانوں. 27 00:01:19,410 --> 00:01:23,800 ایک، ایک عدد صحیح کہا جاتا جہاں argc، اور دیگر کیا ہے؟ 28 00:01:23,800 --> 00:01:26,430 29 00:01:26,430 --> 00:01:29,640 یہ درست ہے، ڈور کی ایک صف ہے؟ 30 00:01:29,640 --> 00:01:31,140 ہم اس مربع بریکٹ سنکیتن دیکھیں. 31 00:01:31,140 --> 00:01:32,181 یہ ڈور کی ایک صف ہے. 32 00:01:32,181 --> 00:01:35,110 یہ ایک فرد سٹرنگ نہیں ہے، یہ ڈور کی ایک صف ہے. 33 00:01:35,110 --> 00:01:39,640 اور یہ دو دلائل، argc اور argv، جو اعداد و شمار صارف کو جانتے ہیں کرنے کے قابل بنائے 34 00:01:39,640 --> 00:01:42,912 کمانڈ لائن پر فراہم کی ہے اور کس طرح بہت سی چیزیں وہ 35 00:01:42,912 --> 00:01:44,120 کمانڈ لائن پر فراہم کی. 36 00:01:44,120 --> 00:01:46,570 ساتھ مل کر کام کرنے کے لئے بہت مفید چیزیں. 37 00:01:46,570 --> 00:01:50,310 >> جہاں argc، دلیل شمار کے لئے کھڑا ہے اور آپ کے راستے کی طرف سے، پتہ ہونا چاہیئے، 38 00:01:50,310 --> 00:01:52,600 آپ جہاں argc کہہ سکتے ہیں کہ آپ یہ چاہتے ہیں جو کچھ بھی. 39 00:01:52,600 --> 00:01:54,710 تم چاہتے تھے جو کچھ بھی ہے argv کال کر سکتے ہیں. 40 00:01:54,710 --> 00:01:58,740 یہ صرف روایتی نام یہ ہیں ہم عنقریب دلیل شمار کے لئے استعمال کرتے ہیں کہ، 41 00:01:58,740 --> 00:02:00,907 اور ہم ایک دوسرے میں دیکھیں گے کے طور، دلیل ویکٹر، ہے argv. 42 00:02:00,907 --> 00:02:03,698 لیکن تم نے انہیں فون کرنے کی ضرورت نہیں آپ کو نہیں کرنا چاہتے تو argc اور argv، 43 00:02:03,698 --> 00:02:05,570 لیکن روایتی، کہ ہم کیا کرتے ہیں ہے. 44 00:02:05,570 --> 00:02:07,500 >> تو ویسے بھی، جہاں argc، دلیل شمار. 45 00:02:07,500 --> 00:02:11,569 یہ ایک عددی قسم متغیر ہے اور تو، کے طور پر ہم دو چیزیں ہیں تو آپ کو، توقع کر سکتے ہیں 46 00:02:11,569 --> 00:02:13,860 ہم تلاش کرنے کے لئے جا رہے ہیں کہ ان ٹائپ کر رہے ہیں کیا 47 00:02:13,860 --> 00:02:16,070 اور کتنا چیزیں صارف ٹائپ، جہاں argc ہے 48 00:02:16,070 --> 00:02:18,559 کتنا ہمیں بتانا جا ٹائپ صارف چیزیں. 49 00:02:18,559 --> 00:02:20,850 یہ آپ کی ایک بڑی تعداد فراہم کرتا ہے تو کمانڈ لائن کے دلائل صارف 50 00:02:20,850 --> 00:02:22,470 پروگرام پھانسی دے دی گئی جب ٹائپ. 51 00:02:22,470 --> 00:02:25,780 آپ کے پروگرام ہے تو ڈاٹ سلیش لالچی چلانے، 52 00:02:25,780 --> 00:02:28,670 اور آپ کے لالچی کے اندر آپ کا بنیادی تقریب پروگرام 53 00:02:28,670 --> 00:02:34,800 اعلان INT اہم int argc ہے، سٹرنگ تو، مربع بریکٹ ہے argv 54 00:02:34,800 --> 00:02:37,950 اس صورت میں argc سے ایک ہے. 55 00:02:37,950 --> 00:02:40,200 اب ہم ایسا نہیں کرتے نوٹس کتنی چیزیں شمار 56 00:02:40,200 --> 00:02:42,590 صارف کے پروگرام کے نام کے بعد ٹائپ. 57 00:02:42,590 --> 00:02:46,710 پروگرام کا نام خود شمار ایک کمانڈ لائن کی دلیل کے طور پر. 58 00:02:46,710 --> 00:02:51,770 >> اس میں، لالچی ڈاٹ سلیش اس صورت، جہاں argc سے ایک ہے. 59 00:02:51,770 --> 00:02:57,910 صارف سلیش لالچی 1024 CS50 ٹائپ تو اس صورت میں argc کمانڈ لائن پر 60 00:02:57,910 --> 00:02:59,520 تین ہو جائے گا. 61 00:02:59,520 --> 00:03:03,720 اور ہم راستے کیونکہ یہ جانتے ہیں کہ ڈور کے درمیان تقسیم 62 00:03:03,720 --> 00:03:06,030 آیا ہے پتہ چلا ہے ایک جگہ، یا ایک ٹیب ہے، 63 00:03:06,030 --> 00:03:08,230 یا ان کے درمیان کچھ اس طرح. 64 00:03:08,230 --> 00:03:13,860 تو سفید جگہ کے کسی بھی رقم، نام نہاد، اقدار کے درمیان کمانڈ لائن ٹائپ 65 00:03:13,860 --> 00:03:15,720 ہیں کتنے اشارہ. 66 00:03:15,720 --> 00:03:24,040 تو لالچی جگہ 1024 جگہ ڈاٹ سلیش CS50، جہاں argc، اس صورت میں، تین ہے. 67 00:03:24,040 --> 00:03:26,600 >> Argv صرف دلیل ویکٹر ہے. 68 00:03:26,600 --> 00:03:29,240 ویکٹر، راہ کی طرف سے، صرف ہے ایک صف کے لئے ایک لفظ، 69 00:03:29,240 --> 00:03:31,510 اور یہ ایک صف ہے کہ ڈور ذخیرہ. 70 00:03:31,510 --> 00:03:35,540 ہے جس میں عنصر فی ایک سٹرنگ، ڈور کہ صارف اصل 71 00:03:35,540 --> 00:03:39,230 کمانڈ لائن میں ٹائپ پروگرام پھانسی دے دی گئی جب. 72 00:03:39,230 --> 00:03:40,990 اب، کے طور پر معاملہ ہے کوئی سرنی کے ساتھ، اگر آپ 73 00:03:40,990 --> 00:03:44,380 کی ہماری بحث سے یاد arrays کے، argv کے پہلے عنصر 74 00:03:44,380 --> 00:03:49,150 ہمیشہ پایا جا کرنے کے لئے کی جا رہی ہے ہے argv مربع بریکٹ صفر پر. 75 00:03:49,150 --> 00:03:51,800 یہ پہلی انڈیکس ہے ہے argv صف کے. 76 00:03:51,800 --> 00:03:55,720 تاکہ will-- اور حقیقت میں، کہ مرضی ہمیشہ پروگرام کا نام، 77 00:03:55,720 --> 00:03:59,730 ہمیشہ واقع ہو جائے گی ہے argv مربع بریکٹ صفر. 78 00:03:59,730 --> 00:04:08,590 >> argv کے آخری عنصر ہمیشہ پایا جاتا ہے ہے argv مربع بریکٹ جہاں argc مائنس ایک میں. 79 00:04:08,590 --> 00:04:10,300 آپ کیوں دیکھ رہے ہو؟ 80 00:04:10,300 --> 00:04:14,180 کتنے عناصر کو یاد رکھیں اس صف میں موجود ہیں. 81 00:04:14,180 --> 00:04:16,660 ٹھیک ہے، ہم یہ جانتے ہیں that-- عناصر میں سے argc نمبر. 82 00:04:16,660 --> 00:04:21,279 صارف تین چیزیں ٹائپ تو کمانڈ لائن، جہاں argc تین ہے. 83 00:04:21,279 --> 00:04:27,070 لیکن کیونکہ C میں، جب ہم کام کر رہے ہیں arrays کے ساتھ، صف کے ہر عنصر، 84 00:04:27,070 --> 00:04:30,190 یا بلکہ سوچکانکوں سرنی، صفر پر شروع. 85 00:04:30,190 --> 00:04:34,000 ہم میں تین عناصر ہیں، تو ہماری صف، ہم، ہے argv صفر پر ایک عنصر ہے 86 00:04:34,000 --> 00:04:37,930 ہے argv میں سے ایک میں ایک عنصر، ہے argv دو اور ایک عنصر. 87 00:04:37,930 --> 00:04:41,700 ہے argv میں کوئی عنصر نہیں ہے تین، اور سائز تین کی ایک سرنی. 88 00:04:41,700 --> 00:04:43,990 تو یہی وجہ ہے کہ آخری ہے argv کے عنصر ہمیشہ کر سکتے ہیں 89 00:04:43,990 --> 00:04:49,510 ہے argv چوک میں پایا جا بریکٹ پر argc مائنس ایک. 90 00:04:49,510 --> 00:04:52,420 >> تو صارف executes کیا فرض مندرجہ ذیل کے طور پر لالچی پروگرام 91 00:04:52,420 --> 00:04:57,970 وہ کمانڈ لائن ڈاٹ میں ٹائپ کریں تو ، لالچی جگہ 1024 جگہ CS50 سلیش 92 00:04:57,970 --> 00:05:00,720 اور کسی بھی وجہ سے ہم نے پہلے ہی ہمارے لالچی پروگرام تیار 93 00:05:00,720 --> 00:05:04,050 جانتے ہیں اور ان کے ساتھ کام کرنے کے لئے کمانڈ لائن کے دلائل. 94 00:05:04,050 --> 00:05:07,030 ہم کام کیا جب ہم نے پہلے نہیں کیا لالچی مسئلہ کے لئے اس پر، 95 00:05:07,030 --> 00:05:09,660 لیکن اب ہم نظر ثانی شدہ ہے کا کہنا ہے کہ یہ تو ہم عمل کرتے ہیں 96 00:05:09,660 --> 00:05:11,480 کسی نہ کسی طرح میں کمانڈ لائن کے دلائل. 97 00:05:11,480 --> 00:05:15,720 اس صورت میں، صفر ہے argv ڈاٹ سلیش لالچی ہے. 98 00:05:15,720 --> 00:05:17,042 ہے argv ایک کیا ہے؟ 99 00:05:17,042 --> 00:05:19,030 ویسے، یہ درست ہے، 1024 ہے؟ 100 00:05:19,030 --> 00:05:22,620 یہ 1024 ہے، لیکن یہاں ایک ہے بہت ضروری distinction-- 101 00:05:22,620 --> 00:05:26,410 آپ argv کے ڈیٹا کی قسم کو یاد ہے؟ 102 00:05:26,410 --> 00:05:31,020 >> یہ درست ہے، ڈور ذخیرہ؟ 103 00:05:31,020 --> 00:05:34,140 لیکن یہ 1024 کی طرح لگتا ہے ایک عددی قدر ہے. 104 00:05:34,140 --> 00:05:36,530 یہ ایک بہت اہم ہے امتیاز، اور اصل میں ہے 105 00:05:36,530 --> 00:05:40,200 کچھ بننے جا رہا ہے کہ آپ کو بعد مسائل میں سامنا ہو سکتا ہے. 106 00:05:40,200 --> 00:05:43,770 argv میں سب کچھ ہے ایک تار کے طور پر محفوظ. 107 00:05:43,770 --> 00:05:48,775 تو argv ایک مندرجات یہ ہیں سٹرنگ ایک، صفر، دو، چار، 108 00:05:48,775 --> 00:05:50,275 ان چار حروف پر مشتمل. 109 00:05:50,275 --> 00:05:53,870 یہ صارف ٹائپ کے طور پر اگر ہے ایک، صفر، دو، چار 110 00:05:53,870 --> 00:05:56,680 انفرادی حروف یا حروف کے طور پر. 111 00:05:56,680 --> 00:06:00,730 یہ، عددی 1024 نہیں ہے اور تو آپ کو براہ راست نہیں کر سکتے ہیں 112 00:06:00,730 --> 00:06:11,580 INT 1،000 کہہ کر اس کے ساتھ کام، یا بلکہ int ایکس ہے argv ایک مائنس 24 کے برابر ہے. 113 00:06:11,580 --> 00:06:15,550 >> وجدانی طور پر، آپ کو اس کے بارے میں سوچ سکتا ہے ، ٹھیک ہے، اچھی طرح سے 1،024 مائنس 24 ہے، کے طور پر 114 00:06:15,550 --> 00:06:17,920 تو ایکس 1،000 کے برابر ہے. 115 00:06:17,920 --> 00:06:22,020 لیکن حقیقت میں، کہ، معاملہ نہیں ہے ہے argv ایک تار ہے کیونکہ. 116 00:06:22,020 --> 00:06:23,940 سٹرنگ 1024. 117 00:06:23,940 --> 00:06:28,739 اب ہو سکتا ہے کہ ایک تقریب نہیں ہے integers کے ڈور میں تبدیل کرنے کے لئے استعمال. 118 00:06:28,739 --> 00:06:30,780 میں آپ کے لئے خراب نہیں کرے گا اب، لیکن میں کیا Zamyla یقین 119 00:06:30,780 --> 00:06:34,380 میں اس کے بارے میں بتانے کے لئے خوش ہو جائے گا ایک مستقبل مسئلہ کے لئے واک تھرو. 120 00:06:34,380 --> 00:06:36,390 لیکن آپ کو بھی تلاش کر سکتے ہیں مسائل like-- عذر 121 00:06:36,390 --> 00:06:39,921 مجھے، افعال جو کہ حوالہ 50 میں ایسا، 122 00:06:39,921 --> 00:06:42,462 آپ حوالہ گائیڈ پر جاتے ہیں آپ کو ایک تقریب تلاش کر سکتے ہیں 123 00:06:42,462 --> 00:06:43,820 آپ کے لئے اس تبادلوں کر دے گا. 124 00:06:43,820 --> 00:06:45,980 لیکن ایک بار پھر، walkthrough میں ایک مستقبل مسئلہ کے لئے، 125 00:06:45,980 --> 00:06:48,290 کیا Zamyla کرنے کے لئے خوش ہو جائے گا کیا تقریب آپ کو بتا 126 00:06:48,290 --> 00:06:53,280 اس میں تبدیل کرے گا ہے عددی 1024 سٹرنگ 1024. 127 00:06:53,280 --> 00:06:54,560 >> ٹھیک ہے، تو پر منتقل. 128 00:06:54,560 --> 00:06:56,726 ہم اپنے صفر argv احاطہ کرتا ہے ہم ایک ہے argv احاطہ کرتا ہے. 129 00:06:56,726 --> 00:06:58,000 کیا ہے argv دو حصوں میں ہے؟ 130 00:06:58,000 --> 00:06:58,620 CS50. 131 00:06:58,620 --> 00:07:01,350 یہ ایک شاید خوبصورت خود وضاحتی. 132 00:07:01,350 --> 00:07:02,950 کیا ہے argv تین میں ہے؟ 133 00:07:02,950 --> 00:07:04,970 ویسے ایک بار پھر، ہم واقعی نہیں جانتے، ٹھیک ہے؟ 134 00:07:04,970 --> 00:07:08,060 ہم، سائز تین کے ایک صف ہے کہ کس طرح بہت سے عناصر صارف 135 00:07:08,060 --> 00:07:11,610 کمانڈ لائن میں ٹائپ، سو ہم نے تین ہے argv میں جاتے ہیں تو، 136 00:07:11,610 --> 00:07:14,660 اب ہم سے تجاوز کر رہے ہیں ہمارے صف کی حد. 137 00:07:14,660 --> 00:07:18,570 سنکلک، ہمیں ایسا دیں گے کوئی بدیہی مسئلہ اس کے ساتھ موجود ہے، 138 00:07:18,570 --> 00:07:22,890 لیکن اصل کے لحاظ سے کیا جا رہا ہے ایسا کرنے کے لئے، ہم واقعی نہیں جانتے. 139 00:07:22,890 --> 00:07:25,380 یہ کیا ہے پر انحصار کرتا ہے میموری جہاں پر واقع 140 00:07:25,380 --> 00:07:28,060 ہے argv تین ہونے کی توقع کی جائے گی. 141 00:07:28,060 --> 00:07:30,716 اور اس طرح ہم ختم ہو سکتی ہے دور Scot کے مفت حاصل. 142 00:07:30,716 --> 00:07:33,840 مزید امکان نہیں کے مقابلے میں، خاص طور پر جب مخالفت کے طور پر آپ کو ہے argv کے ساتھ کام کر رہے ہیں 143 00:07:33,840 --> 00:07:35,548 کسی دوسرے صف میں کہ، ہمارے پروگرام میں ہے 144 00:07:35,548 --> 00:07:38,660 ہم شاید شکار کرنے کے لئے جا رہے ہیں انقطاع غلطی. تو ایک بار پھر، 145 00:07:38,660 --> 00:07:42,756 حد سے تجاوز کرنے کے لئے اس بات کا یقین نہیں کیا جا آپ arrays کے، خاص طور پر ہے argv، 146 00:07:42,756 --> 00:07:47,170 اس کے اعلی ڈگری دی آپ کے پروگراموں میں اہمیت. 147 00:07:47,170 --> 00:07:48,100 >> میں ڈوگ لایڈ ہوں. 148 00:07:48,100 --> 00:07:50,170 یہ CS50 ہے. 149 00:07:50,170 --> 00:07:51,457