[موسیقی بجانے] ڈوگ لایڈ: ٹھیک ہے، تو چلو کمانڈ لائن کے دلائل کے بارے میں بات. تو، اب تک کورس میں خوبصورت آپ کے پروگراموں کی زیادہ سے زیادہ تمام شاید شروع کر دیا ہے this-- int اہم باطل کی طرح. ہم جمع کر دیا گیا ہے صارف کی ان پٹ ہم اس کی ضرورت ہے تو اس طرح کے طور پر ہمارے پروگراموں میں ماریو پروگرام، مثال کے طور پر، میں پروگرام کا اشارہ کی طرف سے. ہم پر نظر ثانی کرنے کی ضرورت نہیں ہے اہم اعلان، کیونکہ اس کی بجائے اہم ہم کے اندر خصوصا آپ INT حاصل کرنے کے لئے کال کر سکتے ہیں، کا کہنا ہے کہ. کس طرح بڑے آپ پرامڈ ہو کرنا چاہتے ہیں؟ یا آپ کو حاصل کرنے کے لئے کال کر سکتے ہیں کتنا تبدیلی فلوٹ صارف کو میں پیداوار کرنا چاہئے؟ ایک اور طریقہ، اگرچہ نہیں ہے اور ہم نے اپنے صارفین کو چاہتے ہیں تو فراہم کرنے کے لئے کے قابل ہو جائے ہمارے پروگرام کے اعداد و شمار بجائے جبکہ رن ٹائم میں پروگرام، چل رہا ہے ایک ٹھیک ٹھیک فرق لیکن کبھی کبھی ایک بہت ہی مفید، ہم نے اہم اعلان کا ایک نیا فارم کی ضرورت ہے. ہم کرنا چاہتے ہیں تو int اہم باطل کا استعمال نہیں کر سکتے ہیں کمانڈ لائن پر دوسرے اعداد و شمار کو جمع صارف کے پروگرام چلتا ہے جب، اس وجہ سے کمانڈ لائن کے دلائل. ان کمانڈ لائن جمع کرنے کے لئے صارف کی طرف سے دلائل، آپ کے اعلامیہ تبدیل this-- int کی طرح دیکھنے کے لئے اہم اہم، کھلی قوس، argc int ہے، کوما، سٹرنگ argv، مربع بریکٹ، اور پھر گھوبگھرالی تسمہ کھولنے. تو اس نے پہلے ہی کیا مطلب ہے؟ ٹھیک ہے، ہم دو پیرامیٹرز میں گزر رہے ہیں، اہم یا دلائل، یا آدانوں. ایک، ایک عدد صحیح کہا جاتا جہاں argc، اور دیگر کیا ہے؟ یہ درست ہے، ڈور کی ایک صف ہے؟ ہم اس مربع بریکٹ سنکیتن دیکھیں. یہ ڈور کی ایک صف ہے. یہ ایک فرد سٹرنگ نہیں ہے، یہ ڈور کی ایک صف ہے. اور یہ دو دلائل، argc اور argv، جو اعداد و شمار صارف کو جانتے ہیں کرنے کے قابل بنائے کمانڈ لائن پر فراہم کی ہے اور کس طرح بہت سی چیزیں وہ کمانڈ لائن پر فراہم کی. ساتھ مل کر کام کرنے کے لئے بہت مفید چیزیں. جہاں argc، دلیل شمار کے لئے کھڑا ہے اور آپ کے راستے کی طرف سے، پتہ ہونا چاہیئے، آپ جہاں argc کہہ سکتے ہیں کہ آپ یہ چاہتے ہیں جو کچھ بھی. تم چاہتے تھے جو کچھ بھی ہے argv کال کر سکتے ہیں. یہ صرف روایتی نام یہ ہیں ہم عنقریب دلیل شمار کے لئے استعمال کرتے ہیں کہ، اور ہم ایک دوسرے میں دیکھیں گے کے طور، دلیل ویکٹر، ہے argv. لیکن تم نے انہیں فون کرنے کی ضرورت نہیں آپ کو نہیں کرنا چاہتے تو argc اور argv، لیکن روایتی، کہ ہم کیا کرتے ہیں ہے. تو ویسے بھی، جہاں argc، دلیل شمار. یہ ایک عددی قسم متغیر ہے اور تو، کے طور پر ہم دو چیزیں ہیں تو آپ کو، توقع کر سکتے ہیں ہم تلاش کرنے کے لئے جا رہے ہیں کہ ان ٹائپ کر رہے ہیں کیا اور کتنا چیزیں صارف ٹائپ، جہاں argc ہے کتنا ہمیں بتانا جا ٹائپ صارف چیزیں. یہ آپ کی ایک بڑی تعداد فراہم کرتا ہے تو کمانڈ لائن کے دلائل صارف پروگرام پھانسی دے دی گئی جب ٹائپ. آپ کے پروگرام ہے تو ڈاٹ سلیش لالچی چلانے، اور آپ کے لالچی کے اندر آپ کا بنیادی تقریب پروگرام اعلان INT اہم int argc ہے، سٹرنگ تو، مربع بریکٹ ہے argv اس صورت میں argc سے ایک ہے. اب ہم ایسا نہیں کرتے نوٹس کتنی چیزیں شمار صارف کے پروگرام کے نام کے بعد ٹائپ. پروگرام کا نام خود شمار ایک کمانڈ لائن کی دلیل کے طور پر. اس میں، لالچی ڈاٹ سلیش اس صورت، جہاں argc سے ایک ہے. صارف سلیش لالچی 1024 CS50 ٹائپ تو اس صورت میں argc کمانڈ لائن پر تین ہو جائے گا. اور ہم راستے کیونکہ یہ جانتے ہیں کہ ڈور کے درمیان تقسیم آیا ہے پتہ چلا ہے ایک جگہ، یا ایک ٹیب ہے، یا ان کے درمیان کچھ اس طرح. تو سفید جگہ کے کسی بھی رقم، نام نہاد، اقدار کے درمیان کمانڈ لائن ٹائپ ہیں کتنے اشارہ. تو لالچی جگہ 1024 جگہ ڈاٹ سلیش CS50، جہاں argc، اس صورت میں، تین ہے. Argv صرف دلیل ویکٹر ہے. ویکٹر، راہ کی طرف سے، صرف ہے ایک صف کے لئے ایک لفظ، اور یہ ایک صف ہے کہ ڈور ذخیرہ. ہے جس میں عنصر فی ایک سٹرنگ، ڈور کہ صارف اصل کمانڈ لائن میں ٹائپ پروگرام پھانسی دے دی گئی جب. اب، کے طور پر معاملہ ہے کوئی سرنی کے ساتھ، اگر آپ کی ہماری بحث سے یاد arrays کے، argv کے پہلے عنصر ہمیشہ پایا جا کرنے کے لئے کی جا رہی ہے ہے argv مربع بریکٹ صفر پر. یہ پہلی انڈیکس ہے ہے argv صف کے. تاکہ will-- اور حقیقت میں، کہ مرضی ہمیشہ پروگرام کا نام، ہمیشہ واقع ہو جائے گی ہے argv مربع بریکٹ صفر. argv کے آخری عنصر ہمیشہ پایا جاتا ہے ہے argv مربع بریکٹ جہاں argc مائنس ایک میں. آپ کیوں دیکھ رہے ہو؟ کتنے عناصر کو یاد رکھیں اس صف میں موجود ہیں. ٹھیک ہے، ہم یہ جانتے ہیں that-- عناصر میں سے argc نمبر. صارف تین چیزیں ٹائپ تو کمانڈ لائن، جہاں argc تین ہے. لیکن کیونکہ C میں، جب ہم کام کر رہے ہیں arrays کے ساتھ، صف کے ہر عنصر، یا بلکہ سوچکانکوں سرنی، صفر پر شروع. ہم میں تین عناصر ہیں، تو ہماری صف، ہم، ہے argv صفر پر ایک عنصر ہے ہے argv میں سے ایک میں ایک عنصر، ہے argv دو اور ایک عنصر. ہے argv میں کوئی عنصر نہیں ہے تین، اور سائز تین کی ایک سرنی. تو یہی وجہ ہے کہ آخری ہے argv کے عنصر ہمیشہ کر سکتے ہیں ہے argv چوک میں پایا جا بریکٹ پر argc مائنس ایک. تو صارف executes کیا فرض مندرجہ ذیل کے طور پر لالچی پروگرام وہ کمانڈ لائن ڈاٹ میں ٹائپ کریں تو ، لالچی جگہ 1024 جگہ CS50 سلیش اور کسی بھی وجہ سے ہم نے پہلے ہی ہمارے لالچی پروگرام تیار جانتے ہیں اور ان کے ساتھ کام کرنے کے لئے کمانڈ لائن کے دلائل. ہم کام کیا جب ہم نے پہلے نہیں کیا لالچی مسئلہ کے لئے اس پر، لیکن اب ہم نظر ثانی شدہ ہے کا کہنا ہے کہ یہ تو ہم عمل کرتے ہیں کسی نہ کسی طرح میں کمانڈ لائن کے دلائل. اس صورت میں، صفر ہے argv ڈاٹ سلیش لالچی ہے. ہے argv ایک کیا ہے؟ ویسے، یہ درست ہے، 1024 ہے؟ یہ 1024 ہے، لیکن یہاں ایک ہے بہت ضروری distinction-- آپ argv کے ڈیٹا کی قسم کو یاد ہے؟ یہ درست ہے، ڈور ذخیرہ؟ لیکن یہ 1024 کی طرح لگتا ہے ایک عددی قدر ہے. یہ ایک بہت اہم ہے امتیاز، اور اصل میں ہے کچھ بننے جا رہا ہے کہ آپ کو بعد مسائل میں سامنا ہو سکتا ہے. argv میں سب کچھ ہے ایک تار کے طور پر محفوظ. تو argv ایک مندرجات یہ ہیں سٹرنگ ایک، صفر، دو، چار، ان چار حروف پر مشتمل. یہ صارف ٹائپ کے طور پر اگر ہے ایک، صفر، دو، چار انفرادی حروف یا حروف کے طور پر. یہ، عددی 1024 نہیں ہے اور تو آپ کو براہ راست نہیں کر سکتے ہیں INT 1،000 کہہ کر اس کے ساتھ کام، یا بلکہ int ایکس ہے argv ایک مائنس 24 کے برابر ہے. وجدانی طور پر، آپ کو اس کے بارے میں سوچ سکتا ہے ، ٹھیک ہے، اچھی طرح سے 1،024 مائنس 24 ہے، کے طور پر تو ایکس 1،000 کے برابر ہے. لیکن حقیقت میں، کہ، معاملہ نہیں ہے ہے argv ایک تار ہے کیونکہ. سٹرنگ 1024. اب ہو سکتا ہے کہ ایک تقریب نہیں ہے integers کے ڈور میں تبدیل کرنے کے لئے استعمال. میں آپ کے لئے خراب نہیں کرے گا اب، لیکن میں کیا Zamyla یقین میں اس کے بارے میں بتانے کے لئے خوش ہو جائے گا ایک مستقبل مسئلہ کے لئے واک تھرو. لیکن آپ کو بھی تلاش کر سکتے ہیں مسائل like-- عذر مجھے، افعال جو کہ حوالہ 50 میں ایسا، آپ حوالہ گائیڈ پر جاتے ہیں آپ کو ایک تقریب تلاش کر سکتے ہیں آپ کے لئے اس تبادلوں کر دے گا. لیکن ایک بار پھر، walkthrough میں ایک مستقبل مسئلہ کے لئے، کیا Zamyla کرنے کے لئے خوش ہو جائے گا کیا تقریب آپ کو بتا اس میں تبدیل کرے گا ہے عددی 1024 سٹرنگ 1024. ٹھیک ہے، تو پر منتقل. ہم اپنے صفر argv احاطہ کرتا ہے ہم ایک ہے argv احاطہ کرتا ہے. کیا ہے argv دو حصوں میں ہے؟ CS50. یہ ایک شاید خوبصورت خود وضاحتی. کیا ہے argv تین میں ہے؟ ویسے ایک بار پھر، ہم واقعی نہیں جانتے، ٹھیک ہے؟ ہم، سائز تین کے ایک صف ہے کہ کس طرح بہت سے عناصر صارف کمانڈ لائن میں ٹائپ، سو ہم نے تین ہے argv میں جاتے ہیں تو، اب ہم سے تجاوز کر رہے ہیں ہمارے صف کی حد. سنکلک، ہمیں ایسا دیں گے کوئی بدیہی مسئلہ اس کے ساتھ موجود ہے، لیکن اصل کے لحاظ سے کیا جا رہا ہے ایسا کرنے کے لئے، ہم واقعی نہیں جانتے. یہ کیا ہے پر انحصار کرتا ہے میموری جہاں پر واقع ہے argv تین ہونے کی توقع کی جائے گی. اور اس طرح ہم ختم ہو سکتی ہے دور Scot کے مفت حاصل. مزید امکان نہیں کے مقابلے میں، خاص طور پر جب مخالفت کے طور پر آپ کو ہے argv کے ساتھ کام کر رہے ہیں کسی دوسرے صف میں کہ، ہمارے پروگرام میں ہے ہم شاید شکار کرنے کے لئے جا رہے ہیں انقطاع غلطی. تو ایک بار پھر، حد سے تجاوز کرنے کے لئے اس بات کا یقین نہیں کیا جا آپ arrays کے، خاص طور پر ہے argv، اس کے اعلی ڈگری دی آپ کے پروگراموں میں اہمیت. میں ڈوگ لایڈ ہوں. یہ CS50 ہے.