[موسیقی بجانے] DAVID MALAN: ٹھیک ہے. یہ CS50 ہے، اور یہ 2 ہفتے کے آخر ہے. میں نہیں ہو سکتا تو معافی چاہتا ہوں وہاں تمام آج آپ کے ساتھ، لیکن آپ کو بہت اچھے ہاتھوں میں ہیں. مجھے متعارف کرانے کی اجازت CS50 اپنے روب Bowden. روب Bowden اور کورس کی، اس کے بعد ہم حقیقت کا مذاق بنانے کے لئے ہے اس نے ہمیں ایک عمودی بھیجا ہے ویڈیو اور اس شو. [ویڈیو پلے بیک] [موسیقی بجانے] [قدموں] -یہ ویڈیو نہیں کیا اس طرح دیکھنے کے لئے ہے. اسے روکا جا سکتا تھا. کوئی عمودی ویڈیوز سے کہو. -Vertical ویڈیوز جب تم ہو اپنے کیمرے غلط طریقے سے پکڑ. آپ کی ویڈیو ختم ہو جائے گی اپ گھٹیا طرح لگ. - [گھرگھر] عادی زیادہ سے زیادہ لوگ-ہیں ہر دن عمودی ویڈیوز بنانے کے لئے. یہ ٹوٹ یا کچھ بھی نہیں ہے، لیکن یہ اب بھی بہت برا ہے. کے دو مختلف قسمیں ہیں وی وی ایس سے متاثر ہیں ان لوگوں کو جو. پہلے گروپ کا علاج کرتا ہے ویڈیوز وہ تصاویر کی طرح گولی مار. وہ کسی بھی نقصان کا مطلب یہ نہیں. وہ صرف یہ ہے کہ سمجھ میں نہیں آتا آپ کو ایک تصویر تبدیل کر سکتے ہیں جبکہ، تم واقعی میں ایک ویڈیو تبدیل نہیں کر سکتے. [حادثے] - [بندر آواز] -مندرجہ دوسرے گروپ لوگ جو ایک [BLEEP] نہیں دیتے. -Vertical ویڈیو سنڈروم خطرناک ہے. موشن پکچرز ہے ہمیشہ افقی گیا. ٹی وی افقی ہیں. کمپیوٹر اسکرینز افقی ہیں. لوگوں کی آنکھوں افقی ہیں. ہم کرنے کے لئے تعمیر نہیں کر رہے ہیں عمودی ویڈیوز دیکھنے. -میں عمودی ویڈیوز. -Nobody آپ کے بارے میں پرواہ نہیں کرتا. -اگر اس مسئلے کے انینترت، تم بھی چھوڑ دیا چار ویڈیوز دکھا شروع ہو جائے گا ایک بار میں صرف بینڈوڈتھ بچانے کے لئے. -Letterboxed عمودی ویڈیوز کرے گا ایک ڈاک ٹکٹ کے سائز ہو. -اور یہ ہر جگہ پھیل جائے گا. فلم کی سکرین ہے ہمیشہ افقی گیا. عمودی ویڈیوز ہو تو قبول، فلم تھیٹر قد اور پتلی ہونا پڑے گا. -اور فلم تھیٹر کے تمام گے ڈھایا اور دوبارہ تعمیر کرنے کے لئے ہے. اور وقت کی طرف سے دوبارہ تعمیر کیا گیا تھا، لوڈ Mila Kunis پرانے اور بدصورت ہو گا. -Birds ان میں کریش ہوا اور مر جائے گا. -We'll تمام سخت حاصل سائن اپ کرنے سے گردنوں. -اور کوئی ایک میں بیٹھ جائے گا سامنے صف دوبارہ کبھی. -George لوکاس دوبارہ جاری کریں گے سٹار جنگ پتلی ایڈیشن again--. -میں بتا کرنے کے قابل کبھی نہیں تھا میں بتانا چاہتا تھا کہ کہانی. یہ میرے لئے ایک عظیم موقع تھا ایک نئی ٹیکنالوجی کے ساتھ استعمال. ایک جرک -You're. ایک موبائل آلہ کرنے کے لئے استعمال کیا جاتا ہے -Every وقت ریکارڈ ویڈیو، فتنہ ہے. بس کوئی کہہ دو. جارج لوکاس نہیں کہہ. پرانے لوڈ Mila Kunis نہیں کہہ. کوئی عمودی ویڈیوز سے کہو. آپ کسی کو اس کر دیکھیں تو -اور،، کا کہنا ہے کہ "آپ اس کا حق ڈمی شوٹنگ نہیں کر رہے ہیں!" [موسیقی بجانے] [END پلے بیک] [تالیاں] [آڈیو آؤٹ] روب Bowden: --simple خفیہ نگاری کی شکل، جس میں بنیادی طور خفیہ کاری ہے خفیہ پیغامات اور ڈکرپشن. تو یہاں ہم ایک بہت سادہ کھلونا ہے. اور خیال بیرونی انگوٹی ہے اندرونی انگوٹی کے ارد گرد گھما. اور تم میں زوم ہو سکتا ہے تو، دیکھ سکتے ہیں میں، اسے دیکھنے کے لئے مشکل ہے that--. لیکن، کی طرح، تعداد 1-- اچھی طرح، کہ منتقل کر دیا گیا. نمبر 1 خط کے نقشے خط ایکس، نمبر 2 نقشے جے مشکل ناقابل یقین حد تک آگے جائیں نہ کرنے کی. خط 2 جے نقشے نمبر 3 اس ڈی نقشے اس انگوٹی کے ساتھ آپ کو دے سکتا کسی کو پیغام 1، 2، 3. کسی وجہ سے آپ کے لئے ان XJD بتانا چاہتا ہوں. لیکن تم نے انہیں دے سکتے ہیں نمبروں میں سے کچھ پیغام، اور وہ اس کی انگوٹی ہے جب تک کے طور، وہ تم کیا کہنا چاہ رہے ہیں بےرمز کر سکتے ہیں. تو آپ کو دیکھا جا سکتا ہے اس خفیہ نگاری کے مخصوص مثال کرسمس سے پہلے سیزن کے ارد گرد تو آپ کو ایک کرسمس کہانی دیکھا ہے. تم نے دیکھا نہیں ہے تو اس سے پہلے، اس کے بعد صرف لفظی میں ٹی بی ایس پر تبدیل کرسمس کے موقع پر کسی بھی وقت، وہ صرف واپس واپس یہ ظاہر کیونکہ پورے دن واپس کرنے کے لئے واپس کرنے کے لئے واپس کرنے کے لئے. اور متعلقہ ویڈیو ہے. [ویڈیو پلے بیک] یہ سب اور متفرق کرنے کے لئے نام سے جانا جاتا آرہے رالف پارکر اس طرح ہے کہ لٹل کے ایک رکن مقرر یتیم بچوں اینی خفیہ سرکل اور تمام اعزاز کا حقدار ہے اور فوائد اس پر واقع. لٹل یتیم اینی دستخط. سیاہی میں پیری آندری سے countersigned! اعزاز اور فوائد پہلے ہی نو سال کی عمر میں! [ریڈیو سے چللا] -آ جاؤ. اس کے ساتھ پر حاصل کرتے ہیں. میں ہے کہ تمام جاز کی ضرورت نہیں ہے اسمگلروں اور قزاقوں کے بارے میں. کے ساتھ مدد سمندری کل رات اختتامی ساہسک سیاہ سمندری ڈاکو جہاز کے. اب، اس کے لئے وقت ہو گیا ہے ینی کے خفیہ پیغام خفیہ سرکل کے اراکین آپ کے لئے. بچوں، صرف ممبران یاد رکھیں ینی کی خفیہ سرکل کے ینی کے خفیہ پیغام وضاحت کر سکتے ہیں. یاد رکھیں، ینی تم پر منحصر ہے. B2 اپنے پن کو مرتب. یہاں پیغام ہے. 12. 11. 2. -میں میری پہلی خفیہ ملاقات میں ہوں. -25. 14. 11. 18. 16. اوہ، پیری عظیم آواز آج رات میں ہے. مجھے لگتا ہے کہ آج رات کے بتا سکتا ہوں پیغام بہت ضروری تھا. -3. 25. یہ ینی خود کی طرف سے ایک پیغام ہے. کسی کو نہیں بتانا، یاد رکھیں. پانچ سیکنڈ کے بعد، میں صرف میں ہوں گھر میں کمرے جہاں نو کے ایک لڑکے پرائیویسی اور ضابطہ ربائی میں بیٹھ سکتا ہے. آہا! بی! میں اگلے گیا. E. پہلا لفظ "ہو" ہے. یہ S. آسان اب آ رہا تھا. U. 25. اس آر ہے آو پر، Ralphie تو! مجھے جانا ہے! دائیں نیچے -I'll، ما! Gee کی whiz ہے. کیا اس بات کا یقین ہو - ٹی او "کرنے کے لئے اس بات کا یقین"؟ لٹل یتیم گیا ہے ینی کہنے کی کوشش؟ کیا اس بات کا یقین ہو جائے؟ -Randy جانا ہے! آپ کو باہر آنے دیں گے؟ -ٹھیک ہے، ماں! میں باہر ہو جائے گا! میں قریب ہو رہا تھا. کشیدگی خوفناک تھا. وہ کیا تھا؟ سیارے کی قسمت توازن میں پھانسی کر سکتے ہیں! -Ralphie، رینڈی جانا ہے! بلند آواز سے رونے کے لئے، صحیح باہر ہو -I'll! بس وہی! میری انگلیاں اڑ گئے. میرا دماغ ایک سٹیل کا نیٹ ورک تھا. ہر تاکنا vibrated. یہ تقریبا واضح تھا! جی ہاں. جی ہاں. جی ہاں. جی ہاں. آپ Ovaltine پینے کے لئے اس بات کا یقین. Ovaltine؟ ایک کے crummy تجارتی؟ کتیا کا بیٹا. [END پلے بیک] روب Bowden: تو کہ کس طرح ہے Ovaltine خفیہ نگاری سے متعلق. بنیادی طور پر CS50 صرف مشتہر Ovaltine، تو ہم کر سکتے ہیں Ovaltine کے لئے ایک کے crummy تجارتی ہو. بالکل ٹھیک. تو اب اصل کمپیوٹر سائنس. پیر کو یاد رکھیں ہم نے چھوڑ دیا ڈور میں گہری ڈائیونگ. تو ہم سے نمٹنے کر رہے تھے سٹرنگ "کیا Zamyla." اور ہم تسلیم کر رہے تھے ہم علاج کر سکتے ہیں حقیقت یہ ہے کہ حروف کی ایک ہی تسلسل کے طور پر "کیا Zamyla". اور ہم نے سیکھا ہے کہ یاد بریکٹ سنکیتن. اس ذخیرہ کیا گیا تو تو ایک تار میں "ے،" ہم نے کہا تو بریکٹ 0، کہ گے خط دارالحکومت Z. اس بات کی نشاندہی اور ہم بریکٹ 1، انہوں نے کہا کہ اگر پہلے چھوٹے ایک کی نشاندہی کریں گے، اور اسی طرح کی بریکٹ 5 تک، جس میں گزشتہ ایک کی نشاندہی کریں گے. اب یاد رکھیں کہ اس سٹرنگ کی لمبائی، 6 لیکن سٹرنگ میں سوچکانکوں ہیں 0 5 کے ذریعے، اس کے ذریعے Z آخری. تو یہ اب ایک بڑی تصویر میں فٹ بیٹھتا ہے آپ کے کمپیوٹر کی میموری، آپ کے RAM کے. تو کہیں پروگرام آپ اپنے کمپیوٹر چلا رہے ہیں کیا Zamyla یاد کرنے کی ضرورت میموری میں کہیں. تو میں نے ایک رضاکار ہو سکتا ہے؟ جی ہاں برائے مہربانی. اور تمہارا نام کیا ہے؟ ڈین: ڈین. روب Bowden: ڈین؟ ، ڈین آپ سے مل کر اچھا لگا. تو یہاں آتے ہیں، اور ہم آپ کو اپنی طرف متوجہ کرنے کے لئے جا رہے ہیں میموری کی ہمارے اچھے نفٹی ترتیب پر. اب میں میموری کے بارے میں سوچنا کرنا چاہتے ہیں بائٹس کی ایک لمبی پٹی کے طور پر، لیکن صرف ڈسپلے کے مقاصد کے لئے ہم کریں گے صرف سب سے نیچے دائیں، اوپر بائیں کرو. ٹھیک ہے؟ تو میں نے ایک ظاہر کرنے کے لئے جا رہا ہوں Getstrings.c پروگرام. اور تو یہ سب پروگرام ہے کر چار ڈور کی درخواست کی ہے کے ساتھ صارف کی طرف سے GetString اور پھر پرنٹنگ جو کہ سب سے پہلے سٹرنگ داخل کیا گیا تھا. ہم نے چار کے ذریعے دونوں کو نظر انداز کر رہے ہیں. ٹھیک ہے. تو یہاں now-- جب میں سب سے پہلے درخواست S1. تو آپ کے کمپیوٹر ہیں. اور آپ GetString کے عملدرآمد کر رہے ہیں. تو آپ کو ایک تار سے درخواست مجھے، اور میں، ٹھیک ہے، ڈین کا کہنا ہے کہ. سٹرنگ دے دو "ڈین." تو کہیں یاد میں آپ یاد کرنے کی ضرورت ہے "ڈین." تو کہیں یاد میں اسے لکھ. کامل. ٹھیک ہے. تو اب ہم S2 ہے. اور S2 ہونے جا رہا ہے GetString کرنے کے لئے ایک درخواست. تو میں نے ایک سٹرنگ داخل کرنے کے لئے جا رہا ہوں. میں داخل کرنے جا رہا ہوں "ہننا." تو کہیں یاد میں "ہننا" درج. جی ہاں. ایک ایچ. ٹھیک ہے، تو اب S3. اور یہ دوسرے ہونے جا رہا ہے GetString کرنے کے لئے درخواست. اور اس طرح اب "ماریا." درج بالکل ٹھیک. اور پھر ایک آخری ہے GetString کرنے کے لئے درخواست، S4. تو، مجھے پتہ نہیں ہے. ہم کس طرح کے ساتھ جانے کے بارے میں antidisestablishmentarianism. تو میموری میں اس میں داخل. جی ہاں. تو "روب." کرتے ہیں ٹھیک ہے. کیوں تو اب وضاحت میں آپ ان جگہوں کو چھوڑ کر؟ آپ کو اس خالی ہے کیوں یہاں، یہاں، اور یہاں کی جگہ؟ جی ہاں. میں جا تو محسوس اگر ایسا ہے تو s1-- پرنٹ کرنے کے لئے ہم تھا "ہننا" چلانے حق اگلے کرنے کے لئے "ڈین،" ہم جب جانتے ہیں کہ کس طرح سٹرنگ "ڈین" ختم ہو گی؟ تو سٹرنگ S1 پرنٹنگ ہو سکتا ہے صرف "DeanHannahMariaRob" طباعت یہ کسی بھی اشارہ نہیں ہے "ڈین" اصل میں ختم ہو جاتا ہے جب. بالکل ٹھیک. تو میموری میں جس طرح ہم اصل میں ایک تار کے اس مقصد کی نمائندگی کرتے ہیں الٹا سلیش صفر کے ساتھ ہے. تو اس کی جگہ ہم چاہتے تھے بالکل وہی جو ہے. یہ ایک الٹا سلیش صفر ہونا چاہئے. یہ، ایک الٹا سلیش صفر ہو جائے گا اور یہ ایک الٹا سلیش صفر ہو جائے گا. اور آپ کو ایک شاندار انعام حاصل کر سکتے ہیں ایک کامل رضاکار ہونے کے لئے. کشیدگی کی گیند لے لو! ٹھیک ہے. تو اس کردار الٹا سلیش صفر ہے ہم کس طرح ایک تار کے آخر کی طرف اشارہ ہے. یہ کس طرح جب کسی بھی پروگرام ہے ایک سٹرنگ پرنٹ کرنے کے لئے چاہتا ہے، ہم نے سیکھا یاد how-- یہ ہے strlen تقریب گزشتہ ہفتے؟ سلک لمبائی؟ یہ تار کی لمبائی کرنے کے قابل ہے کہ کس طرح ہے ایک تار ہے کتنی دیر تک اس بات کا تعین. یہ صرف iterating کر رکھتا ہے کرداروں کے دوران یہ پتہ چلا ہے جب تک صفر کردار الٹا سلیش. اہم بات کا احساس کرنے کے لئے اتنا الٹا سلیش صفر کردار کے بارے میں اس کی نمائندگی کی ہے بٹس میں تمام zeros کی طرف سے. تو یہ واضح ہے کہ محسوس صفر کردار سے. تو صفر کردار، اگر آپ کو یاد مثال کے طور پر میں وہ آخر میں دیا ہے لیکچر کے کرداروں نقشہ جہاں 65 کرنے کے لئے سرمایہ ایک نقشے کی طرح to--. 97 ایک نقشے چھوٹے. چھوٹے ب 98 ہو جائے گا. تو نمبر 0 نقشے مجھے نہیں پتہ to-- میرے سر کے اوپر سے جانتے ہیں. 44 یا 45. کہیں اس علاقے میں. تو کردار 0 ایک حقیقی تعداد ہے. لیکن الٹا سلیش صفر تمام صفر بٹس نقشے. تو ایک فرق ہے الٹا سلیش صفر کے درمیان، جو ہم شہوت انگیز null مختتم فون کروں گا. فرق کے درمیان نہیں ہے الٹا سلیش صفر اور کردار صفر. بالکل ٹھیک. تو ڈور کے بارے میں تھوڑا سا زیادہ بات. تو پھر ہم اس کو کس طرح یہاں دیکھیں یہ میموری میں رکھی جائے گی. تو ایک ہی تسلسل کے طور پر تاروں کے اس خیال characters-- کی سرکاری کمپیوٹر اتنا ترتیب کے لئے sciency مدت ایک صف ہے. تو ہم نے ایک سٹرنگ کو فون کریں گے حروف کی ایک سرنی. اور اصل میں دوسرے اعداد و شمار موجود ہیں ہم سے باہر arrays کے کر سکتے ہیں کی اقسام. تو اس کی حوصلہ افزائی کرنے، ایک مثال کے طور پر نظر آتے ہیں. ہم نے گا ages0.c اسے فون کروں گا کاپی اور ہمارے سانچے پیسٹ. ٹھیک ہے. اس پروگرام میں تو کیا ہم کرنا چاہتے ہیں عمر قبضہ ہے کورس میں تین طالب علموں کے. تو ہم جانتے ہیں INT age-- اور اب میں 0 کہنے جا رہا ہوں. تو آپ age1 کہنا چاہتا ہوں، لیکن ہو سکتا ہے مقاصد کے لئے ہم جلد ہی دیکھیں گے، میں int age0 GetInt کا برابر کہیں گے. میں GetInt کے لئے ایک ہی کال تو ہم نے استعمال کر رہا ہوں کہ فورا جا کرنے کے لئے نہیں ہو "مجھے عمر دے."، کہہ لیکن صرف اس درخواست. اور age1 GetInt کا برابر. اور int age2 GetInt کا برابر. تو، ایک بار پھر، تین طالب علموں کو، لیکن بالآخر متغیر سوچکانکوں age2 ذریعے age0 ہیں. ٹھیک ہے. لہذا اس پروگرام کیا کریں گے جو ہم age0، age1، اور age2 ساتھ کرنا چاہتے ہیں، لیکن اس پروگرام بالآخر تین طالب علموں کے لئے کام کرتا ہے. ٹھیک ہے. تو اب میں چار طلباء چاہتے ہیں؟ ٹھیک ہے، میں واپس جانے کے لئے حاصل کرنے کے لئے جا رہا ہوں میرا کوڈ میں، تبصرہ تبدیل، اور اب ہم ایک int ہے age3 GetInt کا برابر. ٹھیک ہے. تو جو یہاں مسئلہ کو دیکھتا ہے؟ مسئلہ کیا ہے سیٹ اپ کی اس قسم کے ساتھ؟ جی ہاں. جی ہاں. تو ہم نے ایک پیدا کر رہے ہیں ہر طالب علم کے لئے متغیر. اب جب کہ کام کرتا ہے، لیکن بالآخر کیا اب میں تو میں سال کی عمر پر قبضہ کرنا چاہتے ہیں "، کا کہنا ہے کہ آٹھ طلباء یا 16 طلباء یا تاہم بہت سے طالب علموں کو CS50 میں طالب علموں کے سینکڑوں یا طلباء کو کیمپس میں ہزاروں کی تعداد میں یا دنیا میں کروڑوں لوگوں کو؟ تو بالآخر یہ پائیدار نہیں ہے. تم اپنے آپ کو کاپی دیکھ کر کسی بھی وقت اور اس طرح چسپاں کوڈ، آپ عام طور پر محسوس کرنا چاہئے ایک بہتر طریقہ ہے کہ وہاں. ہم کو متعارف کرانے تو یہ ہے جہاں ایک سرنی اعلان. تو آپ کو ایک صف کا اعلان جب، یہ کیا عام شکل ہے کی طرح نظر آتے جا رہا ہے. ہم قسم کا کہنا ہے کہ جا رہے ہیں. اور پھر ہم جا رہے ہیں اس صف کے نام پر دے، ہم کسی بھی متغیر کی وضاحت کے طور پر. اور پھر آخر میں ہم استعمال کر رہے ہیں اس بریکٹ سنکیتن دوبارہ لیکن سے مختلف سیاق و سباق میں کس طرح ہم نے پہلے اس کا استعمال کر رہے تھے. تو یہاں یہ ایک عام کی طرح لگتا ہے ہم نے دیکھا ہے کہ متغیر اعلان. تو ہم نے پہلے int ایکس نیم بڑی آنت کے دیکھا ہے. ٹھیک ہے اب ہم کچھ دیکھ سکتا ہے int ایکس بریکٹ 5 کی طرح. اور میں اس خیال ڈال ہم have-- کہ GetInt کا پروگرام تو ہم عملدرآمد کر سکتے ہیں اسی طرح میں اس. ہم استعمال کرتے ہیں CS میں کا کہنا ہے کہ کچھ کے طور پر (ن). تو یہاں ہم کرنے جا رہے ہیں چار طالب علموں کو محفوظ. اور اب ہم int عمر کا کہنا ہے کہ کر سکتے ہیں بریکٹ بہت اس yet-- حاصل نہیں (ن) چار طالب علموں کی ایک صف کا اعلان کرنے کے لئے. تو اس میں کیسا نظر آئے گا میموری اس طرح ہو جائے گا. یہ واضح. اور ہم کہیں جا رہے ہیں میموری میں وہاں اس کو ڈال دیں گے. تو کہیں یاد میں. ایک دو تین چار. ہم ایک قطار میں چار integers کے ہے چار integers کے اس صف کے لئے. لہذا، اس وقت، کیا ہے ان باکس میں سے ایک کے سائز؟ جی ہاں. یہ چار بائٹس ہے. یہ 32 بٹیں ہے. تو اب یہ مختلف ہے سرنی کی طرف سے ہے کہ ہم حروف کے پہلے، سرنی دیکھا. ایک تار میں ہر باکس، صرف ایک بائٹ تھا ایک کردار صرف ایک بائٹ ہے کیونکہ. لیکن integers کے ایک سرنی کے ساتھ، ہر باکس ترتیب میں چار بائٹس ہونا ضروری ہے ایک پورے عددی فٹ ہونے کے لئے. تو یہ کیا ہے کی ایک سرنی چار ints کے طرح نظر آئے گا. اور پھر کوڈ کے لئے. اب ہم اصل میں سٹور کرنے کے لئے چاہتے ہیں اس صف میں integers کے. تو اب یہ ایک بہت، بہت، بہت ہے کچھ نقطہ پر کرے گا کہ عام پیٹرن پٹھوں میموری بن. تو میں 0 کے برابر ہے int کی. میں (ن) کے مقابلے میں کم. میں پلس پلس. عمر بریکٹ میں GetInt کا برابر. تو اس لوپ کے لئے، اس کی شکل، آپ کو بہت کے لئے استعمال کیا جانا چاہئے. تو یہ عام طور پر ہے کہ کس طرح ہم تقریبا کسی بھی صف پر iterate. اب اس طرح محسوس شروع سے وضاحت کرتا ہے کیوں ہم loops int کے لئے جانے کے لئے کی ضرورت نہیں تھی میں سے کم یا 10 کے برابر، 1 برابر. سے شروع کیا جا رہا ہے کی وجہ سے صفر arrays کے ساتھ اچھی طرح سے اس کا کام کرتا ہے. تو arrays حساب سے ترتیب صفر ہیں. اس صف کی لمبائی 4 ہے تو، سوچکانکوں 3 کے ذریعے 0 ہیں. پہلے کے ذریعے تو لوپ کے لئے اس کے تکرار ہم عمر قائم کرنے جا رہے ہیں میں GetInt کے لئے ایک کال کے برابر بریکٹ 0. لہذا میں نے جو کچھ بھی ہوا بورڈ میں داخل کرنے کے لئے. دوسرے پاس میں، ہم ہیں میں GetInt کرنے age1 برابر مقرر کرنے. تیسری پاس، age2. حتمی پاس age3. لوپ کے پہلے پاس میں تو میں، کی بورڈ پر نمبر 4 میں داخل تو ہم یہاں ایک 4 داخل کریں گے. میں داخل دوسری پاس پر تو 50، ہم یہاں ایک 50 ڈال دیتا ہوں. تیسری پاس پر میں طاقت داخل 1 منفی، 1 منفی، اور پھر آخر میں 0-- داخل تو اب اس انڈیکس تین تھا یاد رکھیں کہ. ہم لوپ کے بعد واپس، میں ہے جانے سے 4 incremented کیا جا کرنے کے لئے. میں اب 4 ہے جو این، سے بھی کم ہے. اور ہم لوپ سے باہر کو توڑنے. تو اس کے ساتھ غلط کیا ہو گا؟ [اشراوی]؟ سامعین: [اشراوی] جی ہاں. تو صف صرف چار مقامات پر ہے، جس میں 3 ذریعے سوچکانکوں 0 طور پر مطلب ہے. اس صورت تھے تو، میں کروں گا تو کچھ نقطہ پر قیمت 4 پر لے. عمر بریکٹ 4 ترتیب ہو جائے گا جو کچھ یہاں ہو مجھے کہنا ہے کیا، 6 درج کریں. 6 کے لیے اس ترتیب جائے گا. لیکن ہم یہاں ختم ہو گیا ہے کیا نہیں جانتے. یہ میموری نہیں ہے کہ ہم تک رسائی حاصل کرنے کے لئے تھا. تو تم سے یاد ہے گزشتہ لیکچر، وہ کیا Zamyla کی اقدار باہر پرنٹ کیا گیا تھا اور کچھ نقطہ پر وہ اس انقطاع مارا غلطی. تو آپ شاید دیکھ کر کیا جائے گا آپ کے طور پر بہت سے انقطاع گناہ مسئلہ سیٹ میں سے کچھ پر عملدرآمد. لیکن یہ طریقوں میں سے ایک ہے جس میں آپ کو ایک انقطاع سامنا کر سکتے ہیں آپ تک رسائی حاصل کرنے شروع کرنے، غلطی آپ نہیں ہونا چاہئے اس طریقے سے میموری. تو ہم تک رسائی حاصل نہیں کیا اس مقام ہے اور یہ ایک مسئلے سے ہے. تو یہ بہتر ہے. اب بھی ایک چھوٹا سا ہے اس کوڈ کے ساتھ مسئلہ. اور یہ کہ ہم ہیں کہ بنیادی طور پر ہے اب بھی چار طالب علموں میں پھنس. اب میں ٹھیک، آٹھ طلباء استعمال کرنا چاہتے ہیں. یہ بڑا سودا نہیں ہے. میں تبدیل، میں جا سکتے ہیں تبصرہ، اور (ن) کو تبدیل. اب یہ آٹھ طالب علموں کے ساتھ کام کریں گے. میں مرتب اور چلانے کے تو ، یہ me-- دکھائے گا یہ آٹھ integers کے درخواست کریں گے طالب علموں اور یہ صرف کام کریں گے. لیکن یہ کرنے کی ضرورت ہے کے لئے مثالی کے مقابلے میں کم ہے پروگرام ہر ایک وقت تو recompile میں طالب علموں کی تعداد کو تبدیل کرنا چاہتے ہیں میں عمر میں داخل کرنا چاہتے ہیں. تو حتمی بہتری پر ہم یہاں دیکھ لیں گے کے طور پر اس، ہم ہیں لوگوں کی تعداد کی درخواست کرنے کے لئے جا. یہاں ہم ایک بڑی تعداد ہے کمرے میں لوگوں کی یا کمرے میں لوگوں کی کسی بھی عمر. لیکن ہم تعداد کی درخواست کرنے کے لئے جا رہے ہیں صارف کی طرف سے کمرے میں لوگوں کی. تو یہ بالکل وہی کرتے ہیں جبکہ ہم نے پہلے دیکھا ہے کہ لوپ. یہ بالکل وہی ہے کرتے ہیں جبکہ لوپ کہ آپ مسئلہ سیٹ پر عمل درآمد کیا جا سکتا ہے. تو جب تک وہ کر رہے ہیں کے طور پر 1 کے مقابلے میں ایک (ن) سے بھی کم میں داخل ہونے، اس بلاگ پر ہونا ہے کمرے میں کم از کم ایک شخص. جب تک وہ کر رہے ہیں کے طور پر 1 کے مقابلے میں ایک (ن) سے بھی کم میں داخل ہونے، پھر ہم ایک بار پھر پوچھ رکھنے کے لئے جا رہے ہیں. نمبر درج کریں کمرے میں لوگوں کی. اب، ایک بار ہم نے بڑی تعداد ہے لیں کمرے میں لوگوں کی تو میں وہاں داخل ہو سکتا ہے اس کمرے میں 200 لوگ ہیں. پھر یہاں نیچے ہم آنے جا رہے ہیں اور سائز 200 ایک صف کا اعلان. ہم نے اس صف اعلان کر رہے ہیں کافی بڑا 200 عمر کے انعقاد کے لئے. اترتے، اس کے لوپ کے لئے ہے آپ کو بہت کرنے کے لئے استعمال ہو جائے گا کہ. تو اس صف پر iterating کر، ہر مقام پر مقرر اس صف میں ایک عددی، اور تو بالآخر ہم یہاں ہیں صرف iterating کی ایک مثال رہی ہے اس صف پر، اقدار تفویض کے لئے نہیں، لیکن اقدار تک رسائی حاصل کرنے. یہاں تو ہم دیکھتے ہیں کہ ہم اس اب سے ایک سال، کہہ رہے ہیں، شخص٪ میں سال کی عمر ہو جائے گا پہلی٪ میں پلس 1 ہے جہاں. تو میں اس انڈیکس متغیر ہے. اور دوسرا میں نے جا رہا ہے عمر سرنی پلس 1 میں ذخیرہ قدر. تو اس کے علاوہ 1 ہم ہیں صرف اس وجہ سے ہے ، اس کے علاوہ 1 saying-- عمر میں پلس 1. یہ پلس 1 ہم ہیں صرف اس وجہ سے ہے اب انسان کی طرف سے ایک سال، کہہ اس پرانے ہو جائے گا. تو کیوں اس میں 1 پلس ہے؟ ہم وہاں کیوں ایک پلس 1 ہے؟ جی ہاں. جی ہاں. تو arrays صفر حساب سے ترتیب ہیں یاد. ہم آپ کے لئے اس سے باہر پرنٹ کر رہے ہیں تو کسی کو صرف پیداوار کو پڑھنے کے لئے، تو شاید وہ کچھ دیکھنا چاہتے ہیں شخص، شخص نمبر ایک کی طرح، 20 سال کی عمر ہو جائے گا. شخص نمبر دو 15 سال کی عمر ہو جائے گا. انہوں نے بلکہ شخص نظر نہیں آتا تعداد صفر 15 سال کی عمر ہے. تو اس کی تالیف اور صرف دیکھ کیا یہ کچھ کی جگہ بنائیں like-- لگتا. عمر آگاہ بنائیں. عمر چل رہا ہے. ہم کمرے میں لوگوں کی تعداد دیکھ. تو میں وہاں ہیں کہیں گے کمرے میں تین افراد. شخص نمبر ایک کی عمر، 15، 20، 25 کا کہنا ہے کہ. اور اب میں ایک سال سے کہیں گے اب وہ 16، 21، 26 ہو جائے گا. اس کے ساتھ کام کرتا ہے کہ دیکھتے ہیں 3 کے برابر نہیں ہے کہ ایک ن. اگر ایسا ہے تو میں، لوگوں کی تعداد، ایک 5 کا کہنا ہے کہ دو، تین، دو، ایک، اب سے ایک سال وہ دو، تین ہو جائے گا چار، تین، دو سال کی عمر. لہذا میں نے صرف کے طور پر کر سکتے ہیں آسانی ن 10،000 ہے. اب میں کافی کے لئے یہاں بیٹھ جائے گا تھوڑی دیر کے عمر میں داخل ہونے، لیکن یہ کام کرتا ہے. تو اب یاد میں کہیں ہم ، سائز 10،000 کے ایک صف ہے تو بالآخر 40،000 بائٹس، موجود ہیں کیونکہ ان integers کے ہر ایک کے لئے چار بائٹس. اس کی ایک سرنی ہے سائز 10،000 جہاں ہم کر سکتے ہیں ان 10،000 لوگوں کی عمر کے ذخیرہ. بالکل ٹھیک. اس میں سے کسی کے بارے میں سوالات؟ جی ہاں. کیا آپ کو ایک منفی نمبر دیا تو کیا ہوگا؟ کیا ہوتا ہے دیکھتے ہیں. یہ خاص طور پر case-- تعداد میں تو کمرے، منفی ایک میں لوگوں کی. یہ مسترد، یہاں ہم ہونے کی وجہ سے (ن) ہے، تو حقیقت یہ ہے کہ ہینڈل کرنے کا کم ایک کے مقابلے میں ہم ایک بار پھر سے دعا گو ہیں کے لئے جا رہے. آپ کو ایک اعلان کرنے کی کوشش تو منفی سائز کی سرنی، یہ عام طور پر کام نہیں کرتا. تو کرنے کی کوشش کریں. کی نظر انداز کرتے ہیں جو کچھ بھی (ن) کے لئے قیمت وہ ان پٹ اور صرف int عمر منفی ایک کا کہنا ہے کہ. یہ بھی آگاہ چلو دیکھتے ہیں اگر. مجھے یقین نہیں ہے. نہیں. تو عمر ایک کے طور پر اعلان کیا جاتا ہے منفی سائز کے ساتھ سرنی. تو براہ راست یہ ایک صف نہیں کر سکتے ہیں کو تسلیم منفی سائز کی ہو اور اسے مسترد کر دیا. اب، ہم کو ہینڈل نہیں کیا تو ایسا جبکہ لوپ درست طریقے سے، ہم جانچ پڑتال نہیں کیا گیا تو (ن) سے بھی کم 1-- ہے ہم صرف کا کہنا ہے کہ بالکل اس کی ضرورت نہیں تھی اور اس کی بجائے ہم صرف ایک عددی قبضہ. کوئی فرق نہیں پڑتا کہ عددی ہے، ہم اس سائز کی ایک صف کا اعلان. تو سنکلک نہیں کر سکتے ہیں ممکنہ طور پر اب شکایت. میں this-- مرتب تو تو یہ شکایت نہیں کر سکتا، یہ میں ہوں کہ پتہ نہیں کر سکتے ہیں کیونکہ ایک منفی نمبر درج کرنے کے لئے جا، جو باطل ہو سکتا ہے. سب کے لئے میں طاقت، جانتا ہے ایک مثبت نمبر درج، جو بالکل درست ہے. 1 منفی داخل تو میں سوچ کمرے میں لوگوں، انقطاع غلطی. ٹھیک ہے. تو یہ صرف واپس شامل ہیں یہ اصل میں کیا تھا اسے رکھنے. تو عمر بنانے. اب میں کوشش کرنا چاہتے ہیں منفی تو چلو age-- کمرے میں پانچ افراد موجود ہیں کا کہنا. شخص نمبر ایک کی عمر ، شخص تین منفی 4 صفر، شخص ٹھیک three-- ہے. تو یہاں، ایک سال اب سے، شخص نمبر ایک 3 سال کی عمر منفی ہو جائے گا. تو شاید کوئی مطلب نہیں ہے. لیکن اس کی وجہ سے صرف دیکھ کوڈ بالکل ہم کر رہے ہیں GetInt کا درخواست کر رہا ہے. اب، ہم تھا تو GetPositiveInt تقریب یا ہم بس یہ کیا تھا وہاں نیچے ہی دیر لوپ کی طرح، تو یہ بالکل ٹھیک کام کریں گے. لیکن یہ خاص طور پر کیس، ہم صرف نہیں منفی اقدار ہینڈل کرنے کا ہو. arrays کے بارے میں کوئی سوال؟ ٹھیک ہے. تو کیا اب ہم arrays کے دیکھا ہے. اور ہم استعمال کرنے کے لئے کی ضرورت کے لئے جا رہے ہیں کمانڈ لائن کے دلائل کے لئے یہ. تو مسئلہ میں two-- مقرر میں تم سے بہت سے جانتے ہیں اب بھی مسئلہ سیٹ پر کام کیا جا سکتا ہے ایک، لیکن مسئلہ دو آ رہا ہے مقرر. مسئلہ دو سیٹ میں، آپ کے لئے جا رہے ہیں ڈور، arrays کے ساتھ نمٹنے کے لئے کی ضرورت ہے، اور کمانڈ لائن کے دلائل. کمانڈ لائن کے دلائل کیا ہیں؟ اب، آپ کو یہاں ایک نیچے دیکھ سکتے ہیں ہے بالکل وہی جو کے لئے چھوٹی سی چھیڑ جا رہا کیا جائے گا. ہم int اہم، انکا جہاں argc دیکھیں سٹرنگ argv بریکٹ. تو سب سے پہلے کی تشریح کرنے کی کوشش کریں کیا کہنے کی کوشش کر رہا ہے. ٹھیک ہے، اب. تو کمانڈ لائن پر آپ کو ہونا چاہئے یہ حکم دیتا ہے میں سے کچھ کرنے کے لئے استعمال ہو رہی اب، اور آپ شاید چلائے گئے پہلے ٹرمینل میں CD. تو ہم نے سی ڈی pset1 کے کا کہنا ہے کہ، آپ کو اس چاہئے جانتے ہیں کہ pset1 کے ڈائریکٹری میں تبدیل ہو جائے. اب آپ نہیں ہے کہ نوٹس پہلے اس طرح ایک پروگرام لکھا. آپ نے لکھا ہے کہ ہر پروگرام، آپ کہتے ہیں،، جاری رہے گی ماریو ڈاٹ سلیش، ڈاٹ سلیش لالچی، اور پھر اس ان پٹ کے لئے فوری طور پر ہو سکتا ہے. اب، ہے کہ نہیں کیا ہے تبدیلی ڈائریکٹری ہے. آپ کو سی ڈی چلاتے ہیں تو، اس وقت، کا کہنا ہے کہ نہیں ہے آپ CD کرنے کے لئے جس ڈائریکٹری میں چاہتے ہیں؟ اس کے بجائے، آپ صرف کا کہنا ہے، CD pset1 کے، اور یہ صرف pset1 کے ڈائریکٹری میں چلا جاتا ہے. تو اسی طرح ہم دوسرے مثالیں ہیں. ہیلو. آپ کو چلاتے ہیں تو، اس وقت، کا کہنا ہے کہ نہیں ہے پروگرام ہے جس میں آپ کو بنانے کے لئے پسند کریں گے؟ آپ کو صرف، کا کہنا ہے کہ کمانڈ لائن ہیلو. منتقل ایک اور مثال ہے. ہم آگے بڑھ رہے ہیں یہ ایک ایک ڈائریکٹری اپ فائل mario.c. تو اب ہم اس مثال کے ساتھ جانتے ہیں ہم واقعی دو دلائل گزر رہے ہیں. پہلی دلیل کے طور mario.c نہیں ہے، اور ڈاٹ ڈاٹ دوسری دلیل ہے. اور پھر آپ کو، آپ کو چلانے جب کہ بہت طویل کمانڈ دیکھیں line-- کہ بہت طویل کمانڈ کمانڈ لائن پر چھپی ہوئی. تو ہے کہ طویل عرصے سے اس کمانڈ صرف اس کا ایک مختصر حصہ ہے، لیکن اب ہم تین ہے کمانڈ لائن کے دلائل. ڈاٹ ڈیش صفر، ہیلو، اور hello.c کے. تو یہ کمانڈ لائن ہیں دلائل، دلائل تم پر گزر رہے ہیں کہ کمانڈ لائن تاکہ یہ حوصلہ افزائی کی جائے کی ضرورت نہیں ہے آپ پروگرام چلاتے ہیں. یہ نراشا ہو جائے گا جب تو آپ بجنا بھاگ یہ ٹھیک ہے "، انہوں نے کہا کہ پروگرام جس فائل مرتب کر رہے ہیں؟ hello.c کے. کیا جھنڈے تم کروگی داخل کرنے کے لئے چاہتے ہیں؟ ڈیش اے. آپ کیا پسند کریں گے فائل بلایا جائے؟ ہیلو. نہیں، آپ نے ابھی بجنا چلانے اے ہیلو hello.c کے ڈیش. تو واپس یہ دیکھ کر. اب argc-- argc دلیل شمار ہے. یہ کمانڈ لائن کی تعداد دلائل کمانڈ لائن میں داخل. ویسے، تکنیکی طور پر argv-- V، ویکٹر کے لئے کھڑا ہے جس میں بنیادی طور سرنی مطلب. لیکن تم نے اس کو نظر انداز کر سکتے ہیں. Argv-- ہم، سٹرنگ argv ہے تو سٹرنگ argv بریکٹ. تو اس کی ایک اور شکل ہے تم سے پہلے نہیں دیکھا ہے بریکٹ. تو ہم نے دیکھا ہے بریکٹ ہم نے کہا ہے جب سنکیتن، کی طرح، سٹرنگ کیا Zamyla برابر. ے بریکٹ 0 کردار زیڈ رسائی ہم نے بھی بریکٹ جب دیکھا ہے ہم int عمر 5 بریکٹ کہا. اس کا سائز 5 کی ایک سرنی کا اعلان کر دیا. تو یہاں کا ایک ورژن ہے بریکٹ ہم نے پہلے نہیں دیکھا ہے. سٹرنگ argv کے اس طرح کہ مکمل طور پر واقف ہو جائے گا یہ صرف ایک تار ہو جائے گا کہ. اب بریکٹ کی نشاندہی کہ یہ ایک صف ہے. تو سٹرنگ argv بریکٹ ذرائع کہ argv ایک ڈور کی ایک صف ہے. اب تکنیکی طور پر ایک سٹرنگ کرداروں میں سے ایک صف ہے. تو یہ اب ایک صف ہے حروف کی ایک سرنی کے. لیکن اس کے بارے میں سوچنے کے لئے بہت آسان ہے ڈور کے اس کے طور پر صرف ایک سرنی. تو کیوں بریکٹ خالی ہو سکتا ہے؟ کی طرح، ہم کیوں، نہیں کہہ سکتا بریکٹ 5، بریکٹ (ن)؟ جی ہاں. جی ہاں. ہم کس طرح بہت سے نہیں جانتے آدانوں وہاں جا رہے ہیں. تو ہم بجنا مثال کے طور پر نظر آتے ہیں تو، ہم خوش hello.c کے O ڈیش بجنا کہنا. اس خاص معاملے میں، وہاں ہو تین دلائل کمانڈ لائن ہونا. اور اس طرح brackets-- ہم دیکھیں گے ایک سیکنڈ میں یہ تین نہیں ہو گی. یہ تکنیکی طور پر چار ہو جائے گا. لیکن بریکٹ، ہم کریں گے کہہ دو، تین ہیں. لیکن اب ہم اس اقدام کو دیکھا تو mario.c ڈاٹ ڈاٹ، بریکٹ ہم نے ان میں دو ڈال کرنا چاہتے ہیں کریں گے. اور حکم دیتا ہے کی ایک بہت ہیں کہ کمانڈ لائن کے ایک متغیر تعداد ہے دلائل. تو کیا کے اس ورژن بریکٹ سنکیتن کی طرف اشارہ کرتا argv ایک ڈور کی صف ہے. لیکن ہم کس طرح بہت سے نہیں جانتے ڈور اس صف میں ہیں. اور کس طرح اس کے بعد ہم کس طرح جانتے ہیں بہت سے ڈور صف میں ہیں؟ یہ پورے نقطہ جہاں argc ہے. جہاں argc ہے argv ہے کب تک ہمیں بتاتا ہے. تو آخری بات میں رکھنے کے لئے ذہن،، کہ تکنیکی طور پر ہے کمانڈ خود ایک کے طور پر شمار کمانڈ لائن کے دلائل کی. CD pset1 کے تو، وہاں دو ہیں کمانڈ لائن کے دلائل. خود میں پروگرام، سی ڈی، اور اس کے بعد اس کی اصل دلیل حصہ، pset1 کے. آپ ابھی تک لکھا ہے کہ کسی بھی پروگرام ایک کمانڈ لائن دلیل ڈاٹ دیکھا گیا ہے ماریو سلیش. یہ صرف کمانڈ لائن کی دلیل ہے. تو اب بجنا دیکھ کر اے ہیلو hello.c کے ڈیش. تو argc کیا ہے؟ 4. تو argc 4 ہے. بجنا، تو argv بریکٹ 0 بجنا ہے. ہے argv بریکٹ 1 ڈیش 0. ہے argv بریکٹ 2 ہیلو ہے، اور ہے argv بریکٹ 3 hello.c ہے. ٹھیک ہے، تو اس پر سوالات، اور پھر ہم کریں گے کچھ پروگرام مثالوں پر نظر ڈالتے. ٹھیک ہے. تو ہم hello3.c پر ایک نظر لے لیں گے. تو اس سے واقف ہونا چاہئے پہلی سی مثالوں میں سے ایک ہم صرف کا کہنا ہے کہ جہاں ہم خوش، تھا دنیا، لیکن اب یہ زیادہ عام ہے. لہذا ہم یہاں ہیلو کہہ رہے ہیں ٪ s کو الٹا سلیش (ن) ہے argv بریکٹ 1. اس نقطہ تک تو نوٹس، یہ ہے کیا میری ٹیمپلیٹ فائل کی طرح دیکھا ہے. میں int اہم (باطل) تھا، اور پھر میں کروں گا مرکزی تقریب میں کچھ کرنا. اب اس کی بجائے، ایک بار ہم نمٹنے شروع کمانڈ لائن کے دلائل کے ساتھ، ہم حالت کرنے کی ضرورت ہے اہم مختلف شکل. تو hello3 دیکھ کر ایک بار پھر، اہم رہا ہے argc int ہے now-- دو دلائل لینے کے لئے، کمانڈ لائن دلائل کی تعداد، اور سٹرنگ بریکٹ ہے argv، اصل ڈور کمانڈ لائن میں داخل. تو میں نے اس کو تبدیل کرنے جا رہا ہوں سانچے ہے کہ حقیقت کو ظاہر کرنے. اب جب بھی آپ لکھیں پروگرام، آپ ایسا نہیں کرتے تو کسی بھی کمانڈ لائن لینے کی ضرورت ہے دلائل، تو صرف int اہم (باطل) کا استعمال. لیکن اب آپ لکھ رہے ہیں جب کمانڈ لائن کی دلیل پروگرام، جس میں آپ کا مسئلہ کے لئے کر جا رہے ہیں تو اب آپ چلا رہے ہیں کہ two-- مقرر لے جانے کے لئے کی ضرورت ہے کہ پروگراموں کمانڈ لائن کے دلائل، آپ کو اس فارم کے اہم کرنے کی ضرورت ہے. تو یہاں یہ بڑی استعمال ہے کمانڈ لائن کی دلیل کے. تو argv 1 پرنٹنگ. ٹھیک ہے تو مرتب کریں اور اس پروگرام کو چلانے کے. hello3 بنائیں. آگاہ. ڈاٹ hello3 سلیش. اور چلو، کا کہنا ہے کہ "روب." ہیلو روب. میں، "ہیلو ماریا،" ہیلو ماریا کا کہنا ہے کہ. ماریا ہیلو. ہننا اب بھی ہیلو "، کا کہنا ہے کہ ماریا، "میں نہیں ہوں کیونکہ ہماری ہے argv 2 کے ساتھ کچھ بھی کر. ہے argv 2 اب "ہننا." ہو جائے گا جہاں argc 3 ہو جائے گا. کیا میں نے یہ کیا ہے؟ تو ہیلو، شہوت انگیز null. انہوں نے مختصر طور پر حقیقت کو چھو کہ، تکنیکی طور پر، GetString کے شہوت انگیز null واپس ہو سکتا ہے، لیکن ہم ایک حاصل کریں گے کیا، شہوت انگیز null میں بہت اصل ہے. لیکن کے ایک معاملے کے طور پر لے کوئی عام برا ہے حقیقت یہ ہے کہ. اگر ہم کچھ غلط کیا یہ "ہیلو، شہوت انگیز null." چھپائی ہے اور اس کی وجہ ہم نے is-- ساتھ کچھ غلط، میں ڈاٹ سلیش hello3 بھاگ گیا جب، جہاں argc 1 تھا. تو ہے کہ argv کی لمبائی 1 تھا کا مطلب ہے. ایک صف کی لمبائی 1 ہے تو، صرف درست انڈیکس صفر ہے. اور اس طرح یہاں سے باہر ہے ہے argv 1 اس صف کی حد. یہ میں نے کوشش سے پہلے جب کی طرح تھا صف کے آخر سے باہر 6 ذخیرہ کرنے کے لئے. تو میں کچھ تک رسائی حاصل کرنے کی کوشش کر رہا ہوں ہے argv شمار سے باہر، اور ہم شہوت انگیز null ہو رہی ہے. کی تو ایک بہتر ورژن یہ ایک بہتری، واضح طور پر argc جانچ پڑتال کی ہے. جہاں argc 2 کے برابر ہے تو، کہ ہم بھاگ مطلب ڈاٹ سلیش hello3 روب کی طرح کچھ. اور یہ "ہیلو روب." پرنٹ گا جہاں argc برابر نہیں ہے تو 2، تو یہ صرف جا رہا ہے آپ کو ڈال جو کچھ بھی نظر انداز کرنا کمانڈ لائن کی دلیل میں کمانڈ لائن دلائل کے طور پر. تم بالکل کسی بھی پیش نہیں کیا گیا یا اگر، یہ ہے صرف یہ ہے کہ نظر انداز اور صرف کہنے جا رہا، "تم ہیلو." تو اس کی تالیف. hello4 بنائیں. اور hello4 چلانے. اس طرح چل رہا ہے، کیا چھپا ہونا چاہئے؟ "تم ہیلو." تم ہیلو. کیا hello4 روب کے بارے میں؟ "ہیلو روب." اور آخر میں، خوش روب ماریا ، "ہیلو آپ کو" ایک بار پھر صرف ہے تم واقعی میں داخل نہیں کیا تھا کیونکہ یہ توقع کی جاتی ہے کہ کچھ. آپ کو زیادہ نام داخل اسے سنبھال کر سکتے ہیں کے مقابلے میں، تو یہ صرف نادہندہ ہیلو آپ رویے. اس پر سوال تو؟ یا کمانڈ لائن کے دلائل؟ ٹھیک ہے، تو ایک پر ایک نظر لینے کا استعمال کرتے ہوئے جوڑے مثالیں کمانڈ لائن سے پہلے دلائل ہم ڈیش 1 ڈاٹ C argv ہے. تو تبصرے دور دے کیا اس پروگرام کرنا چاہئے. لیکن، لوپ کے لئے یہ now-- نوٹس یہ عین مطابق پیٹرن سے میل کھاتا ہے میں نے پہلے کہہ رہا تھا. ہم صرف ہونا ہو (ن) کے بجائے جہاں argc استعمال کر رہے ہیں. اب جہاں argc واقعی (ن) ہے. یہ ہے argv صف کی لمبائی ہے. تو argv پر iterating رہے ہیں سرنی printf کے ing ایک ایک ہے argv قیمت. میں اس کے بنانے کے تو. ہے argv 1 بنائیں. سے آگاہ کریں. ڈاٹ ہے argv 1 سلیش. بس اس کو چلانے، اس پرنٹس سلیش ہے argv 1 ڈاٹ کہ صرف کمانڈ لائن تھا کے بعد سے پروگرام کا نام دلیل. ہمیشہ least-- پر ہو جائے گا جہاں argc، ایک سے کم نہیں ہو سکتا کے بعد وہاں ہمیشہ کم از کم کو چلانے کے لئے پروگرام کا نام ہو. تو 1 روب 1 ہے argv پرنٹ ہے argv اور پھر نئی سطر پر "روب." پہلے iteration میں So اس لوپ کے، 0 ہے. ہے argv 0 پروگرام کا نام ہے. ڈاٹ ہے argv 1 سلیش. اور پھر 1 میری پہلی ہے ہے argv روب ہے جو کمانڈ لائن کی دلیل،. اس مرحلے پر، ہم سے argc کے برابر ہیں. ہم لوپ سے باہر کو توڑنے اور ہم کیا کر رہے ہیں. تو یہ ایک صوابدیدی کے لئے کام کریں گے کمانڈ لائن دلائل کی تعداد. نوٹس یہ ہے argv 0، ہے argv پرنٹس 1، ہے argv 2، ہے argv 3، ہے argv 4. اور کوئی argv 5 ہے. جہاں argc 5 کے برابر ہے. لہذا میں 5 برابر argc-- میں، ہم لوپ سے باہر کو توڑنے. ٹھیک ہے. ہم سے پہلے اس پر سوال تو ایک زیادہ پیچیدہ مثال کے طور پر نظر آتے ہیں؟ تو 2 ہے argv. بالکل ٹھیک. تو ہم اب بھی پرنٹ کر رہے ہیں کمانڈ لائن کے دلائل. لیکن اب ہم محسوس ایک لوپ کے لئے اندر در اندر. تو کیا کر رہا ہے؟ تو سب سے پہلے لوپ کر رہی ہے بالکل وہی جو اس سے پہلے کیا. ہم اب بھی پر looping کر رہے ہیں ایک کمانڈ لائن کی دلیل، لیکن اب یہ دوسری loop-- ہم نے پہلے بھی کچھ اس طرح دیکھا. وہ پر iterating گیا تو کیا Zamyla Z-A-M-Y-L ایک باہر پرنٹ. تو int J لئے یہ دوسری لوپ کے برابر ہے 0، (ن) ہے argv بریکٹ میں strlen کی برابر. تو سب سے پہلے کے لئے سوچنے دو the-- کے ذریعے چلنے دو. کیا کمپیوٹر گے سوچنے دو صرف نقطہ کے طور پر میں نے اس پروگرام بھاگ گیا تو کیا ہے argv ڈیش 2 سلیش. اگر ایسا ہے تو میں اس وقت، اس کوڈ کو بھاگ گیا جہاں argc 1 سے برابر ہونے جا رہا ہے. اور سٹرنگ صرف وہاں ہے argv-- argv میں ایک انڈیکس جا رہا، اور یہ کہ ڈاٹ کے برابر ہونے جا رہا ہے ہے argv سلیش 2-- پروگرام کا نام. ٹھیک ہے، تو اب میں کے مقابلے میں کم، 0 کے برابر ہے 1، میں پلس پلس INT J 0 کے برابر ہے کے لئے، (ن) میں تو، ہے argv بریکٹ 0 strlen کی برابر اس لوپ کے پہلے iteration. ہے argv بریکٹ 0 ڈاٹ سلیش ہے argv 2 ہے. تو کہ سٹرنگ کی طوالت کیا ہے؟ ٹھیک ہے، ایک آر پی جی وی ڈیش 2 ڈاٹ سلیش. اس کے strlen کی تو 8 ہو جائے گا. تو J 0 کے برابر ہے، (ن) 8 برابر. جب تک J 8، J + + کے مقابلے میں کم ہے کے طور پر. اور اس کے ساتھ ہم جا رہے ہیں ایک کردار، پرنٹنگ جو میں J بریکٹ ہے argv بریکٹ ہے. تو صرف میں صفر ہے. ہم ابھی تک صرف ایک ہے کمانڈ لائن کی دلیل. کہ سب سے پہلے iteration میں لوپ کے لئے، ہم ہیں چھپائی جا رہا ہے argv بریکٹ 0 بریکٹ 0. اور پھر J اضافہ کی جا رہی ہے. اور ہم پرنٹنگ لئے جا رہے ہیں ہے argv بریکٹ 0 بریکٹ 1. اور پھر بریکٹ 0 بریکٹ 2 ہے argv. تو یہ ہماری پہلی ملاقات ہے کثیر جہتی arrays کے. میں نے کہا کہ پہلے یاد رکھیں کہ ہے argv تکنیکی طور پر ہے حروف کی arrays کے ایک صف. تو یہاں میں کچھ کی طرح انہوں نے کہا کہ سٹرنگ، ہے argv بریکٹ میں برابر اور پھر میں نے کی، نے کہا بریکٹ J، اس ایک ہی بات کی تکمیل ہو جائے گا. اب، تم سے پہلے بریکٹ J دیکھا ہے. یہ صرف J ویں تک رسائی حاصل ہے اس سٹرنگ کا کردار. اس کے ساتھ تو، ہم حاصل کر رہے ہیں میں ویں argv کے J-ویں کردار. تو کیا یہ بالآخر پیداوار کرنا چاہئے؟ ہے argv 2 بنائیں. سے آگاہ کریں. ڈاٹ ہے argv 2 سلیش. "روب ماریا ہننا،" اور ہمیں کچھ کمرہ دے. تو ہم نے اس لکھنا ہے کہ دیکھیں اپنا لائن اور سلیش ڈاٹ اپنی ہی سطر پر اس کی اپنی لائن اور ایک پر. یہ ہر ایک سے باہر چھپائی ہے انفرادی کردار ایک کمانڈ لائن کی دلیل کے. اور پھر ان کے درمیان میں، کیونکہ اس نئی لائن کی ہم، یہاں نیچے چھپائی رہے ہیں ان کے درمیان یہ ایک نئی سطر میں پرنٹ کریں گے. تو اس کی طرح ہے پہلے ہے argv ڈیش 1، ہر چھپی ہوئی جس کمانڈ لائن کی دلیل، لیکن اب ہم چھپائی رہے ہیں کمانڈ لائن کے دلائل اور پھر ہر ایک کے ذریعے iterating کر ایک کمانڈ لائن کی دلیل کا کردار اس کی پیداوار حاصل کرنے کے لئے. ٹھیک ہے؟ اس پر سوال تو؟ نوٹ کرنے کے لئے ایک بات یہ ہے کہ کمانڈ لائن دلائل تو وہ کے طور پر خالی جگہوں کی طرف سے الگ کر رہے ہیں آپ قدرتی طور پر ان ہونا توقع کریں گے. تو ایک تار اس میں خالی جگہ ہے کر سکتے ہیں. یہ سپر ضروری نہیں ہے، لیکن میں نے تو تیسری دلیل کمانڈ لائن مطلوب میں اس وقت، اس میں ایک جگہ ہے کی کچھ اس طرح کہہ سکتے ہیں. ٹھیک ہے؟ تو یہ اب بھی صرف تین ہے کمانڈ لائن دلائل کے ساتھ ساتھ 4. ڈاٹ ہے argv ڈیش 2 سلیش، روب، ماریا، اور ہننا بلومبرگ. ٹھیک ہے. اس پر سوال؟ کچھ خاص نہیں ہے خلائی کردار کے بارے میں. یہ صرف اس پر ہوتا ہے کمانڈ لائن خلا کردار کا علاج کرتا ہے کس طرح آپ کو ہر دلیل الگ. بالکل ٹھیک. تو مسئلہ سیٹ آپ جا رہے ہیں two-- خفیہ نگاری خفیہ کلید کو دیکھ کر. کہ مثال کے طور پر تو، اسی طرح ہم نے ایک کرسمس کہانی سے دیکھا آپ کو کچھ کو لاگو کرنے جا رہے ہیں ، پیغام دیا کہ یلگوردمز، آپ کے قابل ہو جائے کرنے کے لئے جا رہے ہیں اس پیغام کو خفیہ کرنے کے لئے کہ خفیہ کے ساتھ کہ صرف کسی اہم، کہ کوٹواچک انگوٹی کے ساتھ، بےرمز کرنے کے لئے کے قابل ہونا چاہئے. تو ہے کہ سٹینڈرڈ ایڈیشن ہے. آپ کو لاگو کرنے جا رہے ہیں دو مختلف ورژن. آپ ایک نظر لینے کے لئے ہو تو ہیکر اب ایڈیشن میں، ہم دینے کے لئے جا رہے ہیں آپ کو اس طرح ایک تار، جس میں ایک مرموز پاس ورڈ کی نمائندگی کرتا ہے. تو آپ کا مقصد یہ معلوم کرنا ہے غیرخفیہ پاس ورڈ کیا. اب یہ اصل میں کس طرح پاس ورڈ ہے کمپیوٹر کی ایک بہت میں محفوظ کیا جاتا ہے، اور یہ صرف اس ذخیرہ کرداروں میں سے رینڈم سٹرنگ. آپ کو حاصل کرنے کے لئے کس طرح پتہ کرنے کی ضرورت حروف کی یہ بے ترتیب سٹرنگ سے اصل پاس ورڈ کیا تھا. اور آخر میں، اس کے بعد مسئلہ سیٹ، آپ کو کرنا چاہئے اس کا مطلب سمجھنے کے لئے کے قابل ہو جائے. تو آپ بےرمز کرنے کے لئے کس طرح سیکھ جائے گی رینڈم سٹرنگ کی اس طرح. اسی طرح، آپ ہفتے سے یاد ہے 0، آپ اس URL کو دیکھا ہے ہو سکتا. اور آپ کے لئے قابل ہونا چاہئے آخر میں اس بےرمز. تم خوش نہیں ہو سکتا ہے جب آپ بےرمز اور لنک پر کلک کریں. بالکل ٹھیک. کہ آج کے لئے ہے. تو اگلے ہفتے آپ کو دیکھو! [الیکٹرانک موسیقی بجانے]