[Theme موسیقی] اسپیکر 1: ہیلو، سب کو. حصے پر پھر سے خوش آمدید. ، میں ہوں یہی وجہ ہے کہ لولی دن باہر اس بات کا یقین، یہاں صرف چار تم میں سے ہیں اور نہیں ہمارے معمول پیک. میں نے اس ہفتے کے آخر میں سے بیمار ہو چکے ہیں. اس لئے میں نے تم لوگوں کے لئے Starburst ضرورت نہیں ہے. اور میں ھاںسی شروع کر سکتے ہیں بری طرح سے اس کے پورے. تو صرف میرے ساتھ صبر. میں واقعی کوشش کرنے جا رہا ہوں اور، سب سے پہلے اس کے ذریعے حاصل اگرچہ، اس سے پہلے کہ میں نے ایک ھاںسی حملے پڑے. لیکن صرف مجھے ایک پر آسان ہونا کہ بٹ تھوڑا میں پوچھ تمام ہے. لہذا today-- لئے ہمارے ایجنڈا صرف ایک reminder-- آپ کوئز اگلے ہفتے ہے. میں نے یہ تو آپ کو اس کے گزشتہ ہفتے بتایا آپ کو گارڈ دور پکڑ نہیں کرے گا. تو میں نے ایک بار پھر آپ کو یاد دلانے ہوں. اگلے ہفتے آپ کا کوئز. اس مقصد کے لئے، اگلے ہفتے کے سیکشن بہت زیادہ ہو جائے گا of-- میں کوشش اور کچھ جائزے میں کام کروں گا. تم لوگ کر سکتے تھے تو اگر مجھے بھیج کر میری مدد آپ کو آرام دہ ہیں کہ چیزیں ، آپ کے بارے میں فکر مند ہیں کہ، کے ساتھ آپ کے لئے چاہتے ہیں اس کے موضوعات مجھے وہ بہت اچھا ہو جائے گا، کا احاطہ کرنے کے. لہذا میں کوشش کرتے ہیں اور ان کو کام کر سکتے ہیں ہمارے حصے کے اگلے ہفتے میں یا آپ کو اضافی مواد یا پریپ بھیج آپ کہیں اور حاصل نہیں ہو سکتا ہے. جی ہاں! زیادہ سے زیادہ لوگ آ رہے ہیں! میں نے میں بری طرح گزشتہ نے ایسا کیوں کیا، سوچا ہفتہ، کوئی نہیں واپس آنا چاہتا ہے؟ مجھے ڈر لگ رہا. دیگر تین چیزیں اتنی ہم پر جانے کے لئے جا رہے ہیں ہیں نئ سمت، فائل I / O، اور پھر اشارہ اور متحرک میموری. میں تم سب کے بارے میں سپر حوصلہ افزائی کر رہے یقین اشارہ سب کے پسندیدہ موضوع، کو سمجھنے کے لئے بہت آسان. میں تم لوگوں کو کچھ ٹھیک، کہ ملی یقین ہے؟ لہذا پہلی چیزیں، redirection-- یہ بنیادی طور پر صرف ایک طریقہ ہے کس طرح آپ کو ان پٹ کے کنٹرول کرنے کے لئے آپ کے پروگرام میں چیزیں، کس طرح آپ کے پروگرام سے آپ کی پیداوار چیزیں. اہم طریقوں کہ آپ لوگ اس کے ساتھ بات چیت کی گئی ہے صرف معیاری باہر کے ذریعے ہے یہاں آپ پرنٹ سکرین کے ساتھ. لیکن کرنے کے طریقے ہیں ہم یہاں دیکھتے ہیں کے طور pipe-- ہمارے words-- قسم کی ایک ہے پائپ کہ معلومات کے یا ایک فائل سے ایک فائل میں ڈیٹا ہے کہ. اس میں سے صرف مختلف طریقوں ہے آپ کے پروگرام میں چیزیں ہو رہی ہے اور آپ کے پروگرام سے باہر، کے بجائے صرف اس کی سکرین پر ان کی پرنٹنگ یا چیزوں inputting کی کمانڈ لائن سے. تو سب سے پہلے ایک چھوٹا سا ہے جزم سے بھی بڑا. یہ صرف پیداوار پرنٹ output-- تاکہ بجائے آپ کی سکرین کے ایک فائل میں. آپ کو چھپی ہوئی ہے کہ کچھ تھا تو اگر "ہیلو، دنیا!" سکرین پر، آپ اس کے بجائے اسے ڈال دیا ہے تو ، output.text کہ output.text نامی اس فائل تخلیق کرتا ہے. آپ اسے کھول جب، یہ کروں گا "ہیلو، دنیا!" کہنا وہاں میں. یہ سپر مفید ہو سکتا ہے آپ کو غلطیاں کی ایک ٹن ہے تو اصل میں، ہم اس میں سے ایک میں دیکھ کے طور پر. آپ کو دو جزم کرتے ہیں، یہ کروں گا خرابی کے پیغامات پرنٹ. آپ کے ساتھ ایک مسئلہ چل رہے ہیں اگر ایسا ہے تو مرتب، اس کی غلطیوں کی ایک بہت کچھ ہے اور اپنی کوشش میں نیچے فنس گیا ہو رہے ہیں آپ کمانڈ لائن میں کے ذریعے سکرال کرنے کی تمام ان کے ذریعے، آپ کر سکتے ہیں صرف ایک فائل میں انہیں پرنٹ، تا کہ اس فائل کو کھولنے آپ ان کے ذریعے سکرال کر سکتے ہیں آسان. میں اصل میں ایک ہے کہ استعمال کیا جاتا بہت کچھ ہے جب میں ٹھیک کر رہا تھا مشین لرننگ کے لئے میری 181 psets میں. تو اس کے بعد پر سپر مفید ہو سکتا ہے. آپ کو ایک پروگرام ہے تو یہ بھی مفید ہے کہ شاید ایک لائبریری پیدا کر رہا ہے یا کسی سیٹ جنریٹنگ ڈور کی، اور آپ کو کہ دیکھ کے قابل ہونے کی ضرورت ہے یہ مناسب طریقے سے ان کو پیدا کر رہا ہے. یہ اس لئے کہ ایسا کرنے کا طریقہ ہے. تو کیا تم، ایک فائل میں آپ ان کو پرنٹ زیادہ آسانی سے ان کی جانچ پڑتال کر سکتے ہیں، ہے نا؟ سکرال کرنے کی کوشش کر کے مقابلے آپ کے کمانڈ لائن کے ذریعے. اور پھر ایک بات نوٹ کرنا یہ صرف زیادہ سے زیادہ کے ساتھ ہے جزم کے مقابلے، آپ لکھ رہے ہیں تو پہلے سے ہی موجود ہے کہ ایک فائل میں تو ہم نے اس پہلے بھاگ گیا تو اس طرح وقت، ہم، output.text کرنے کے لئے ڈال اور پھر ہم ایک دوسرا پروگرام تھا پروگرام کے دو کے طور پر اس طباعت اور، output.text کرنے سے کہیں زیادہ کیا یہ اتنا that-- ادلیکھت گا میں نے کبھی کیا تھا ادلیکھت اس فائل کے ساتھ شروع کرنے. آپ شامل کرنا چاہتے ہیں تو ایک فائل میں، ہم یہاں دیکھ کے طور پر، آپ کو صرف علامات کے مقابلے میں دو زیادہ کرتے. اور یہ اس کے لئے شامل کریں گے. یہ ادلیکھت نہیں رکھا جائے. آپ ایک سے زیادہ چلانے کے لئے کی ضرورت ہے تو پروگراموں قسم کے رکھنے کے لئے اور ان میں سے سب کیا ہیں کے ٹریک ایک فائل میں آپ کو واپس لوٹنے، کہ ایسا کرنے کا ایک طریقہ ہے. آپ پرواہ نہیں کرتے ہیں تو آپ کی فائل میں کیا ہے اور یہ، ادلیکھت ہو جائے کرنے کی اجازت ہے آپ صرف کے مقابلے میں ایک ہی زیادہ استعمال کر سکتے ہیں. کہ ہر کسی کو احساس ہے؟ سامعین: طرح ڈاٹ بڑا ہیلو سلیش پیداوار ڈاٹ متن سے، کی طرح دو بار، یہ صرف صرف پیداوار پر دکھائیں گے ڈاٹ ٹیکسٹ ایک دوسری time-- اسپیکر 1: ٹھیک ہے. تو یہ صرف مکمل طور پر بنیادی طور پر کرے گا کے ساتھ شروع کرنے کے لئے وہاں تھا کیا ادلیکھت. یہاں، اس فائل تو پہلے سے ہی output.text آپ کو فون بنیادی طور پر جو کچھ بھی موجود ہے کہ ایک بار پھر ایک واحد زیادہ کے ساتھ آپ کو صرف اس کے بارے میں سوچ سکتے ہیں کے مقابلے کی طرح کے طور پر اس فائل کی جگہ لے لی. آپ کو ایک ورڈ بچت کر رہے ہیں جب کی طرح آپ کے طور پر محفوظ کروں دستاویز اور، اور آپ ایک ہی نام رکھنے کے، اور یہ مکمل طور پر نے اسے overwrites ہے اس بات کی اسی طرح کی ہے. کسی پر کوئی سوالات ہیں، صرف ایک فائل میں لکھنا؟ بہت اچھے. تو ظاہر ہے، آپ کو ریورس اگر سمت تیر، یہ ان پٹ کے ایسا کر سکتے ہیں. تو تم لوگ پڑا جب کیسر یا Visioneer کو طرح اور آپ کو ان پٹ کے کچھ کرنے کے لئے تھا، اگر آپ کو ایک کمانڈ لائن کی دلیل تھی یہ کہ اصل میں ان پٹ. یہ ایسا کرنے کا ایک اور طریقہ ہے. لہذا انتظار کرنے کی بجائے کمانڈ پرومپٹ لئے، آپ کے لئے کہا جب کی طرح آپ کے کیسر یا Visioneer کو میں پیغام، آپ ایک ٹیکسٹ فائل تھا تو کہ، آپ کا پیغام دیکھا گیا آپ صرف یہ ہے کہ میں اسے ٹائپ کر سکتے ہیں. اس نقطہ کی طرح تھے، اگر ایسا ہے تو قیصر سلیش 3 یرو ان پٹ متن، کے مقابلے میں کم ہے جس آپ کا پیغام یہ ہے کہ، بس ٹھیک چلانے گے. جب آپ کیسر پروگرام اصل صارف سے ان پٹ کے لئے کہا، یہ پہلے سے ہی ہے کیونکہ یہ ہو گا آپ اس فائل میں ٹائپ ہے. یہ صرف ایک اور طریقہ ہے. output-- کا صرف ایک ریورس آپ کے ڈیٹا کے لئے صرف ان پٹ. اور اس کے بعد گزشتہ ایک پائپ ہے. تو یہ ہے کہ ایک بہت ٹھنڈا. یہ کرنے کے لئے آپ کی اجازت دیتا ہے کیونکہ ایک کی پیداوار لیں پروگرام اور اس کے طور پر ڈال دیا کسی دوسرے پروگرام کے ان پٹ. مجھے تم پر تو کسی بھی پتہ نہیں ہے سمجھنے کے ساتھ ادا کیا کہ CS50 کو ہو سکتا ہے یہ کریں گے آپ کو دیا، لیکن آپ کو کچھ نمونے لینے کی اجازت ، فائل آپ خفیہ کاری میں ٹائپ، اور پھر وہاں سے ٹائپ آپ ڈکرپشن میں ہے کہ بنانے کے لئے یقین ہے کہ یہ ایک ہی نکلے. تو یہ اس قسم کی تین طرح لوپ کی طرح ہے. اس کے لئے جاؤ. سامعین: ایک پروگرام تو ، ایک سے زیادہ آدانوں ہے جس کی ان پٹ کو یہ بتانے کے لئے ایک طریقہ ہے کے لئے ٹیکسٹ فائل یا پیداوار میں استعمال کرنے کے لئے؟ اسپیکر 1: یہ ایک سے زیادہ آدانوں ہے. یہ بات ہے جب آپ کی ان پٹ دائر جو بھی ان پٹ کے لئے کہ پہلی بار پوچھ رہی، یہ بات ہے جا رہا یہ بات ہے، مجھے لگتا ہے، فرض کرنا پوری فائل میں پائپ کے لئے جا. آپ ایک سے زیادہ آدانوں ہیں، اگر آپ ہیں تو کیا ایک سے زیادہ فائلوں میں گرما جائے جا. اگر ایسا ہے تو آپ پیغامات کے لئے پوچھ رہے آپ کے کوڈ میں تین بار، آپ ڈالنے جا رہے ہیں تین مختلف فائلوں میں. اور یہ پاگل ہو جاتا ہے. اور آپ کے لئے نہیں ہونا چاہئے ٹھیک ہے اب اس کی فکر. لیکن ہے کہ خیال ہے. تو جی ہاں، پائپ صرف ایک کی پیداوار ہے پروگرام انہیں دیگر میں ان پٹ کا استعمال کرتا ہے. وہاں سب اچھا ہے؟ ٹھنڈا. OK. آپ نے شاید نہیں پڑے گا اس کے ساتھ بہت زیادہ کرنے کی. لیکن آپ کو سمجھنا چاہئے طریقے آپ اس کا استعمال کر سکتے ہیں. اور بعض صورتوں وہاں ہو آپ اسے استعمال کرنا چاہتے ہو سکتا. لہذا میں / O-- میں تم رہے ہیں جانتے دائر saying-- ہم سے پڑھ کرنے کے لئے استعمال کرتے رہے ہیں اور وہاں ہمارے سکرین کے لئے لکھ، جس میں معیاری اور معیاری باہر ہے. اور یہ کہ تم لوگوں کو دیا گیا ہے کیا ہے یہاں کلاس کے آغاز کے بعد سے کر. لیکن آپ بھی پڑھیں اور فائلوں لکھ سکتے ہیں، I / O-- تاکہ ان پٹ فائل تمام فائل ہے جس میں، پیداوار اس کے لئے کھڑا ہے. تو یہ بنیادی طور پر مطلب ہے کہ اب آپ کو آپ کے ڈیٹا کو محفوظ کر سکتے ہیں. آپ کو صرف اس کو پرنٹ جب سکرین، یہ بنیادی طور پر، صحیح گیا ہے؟ جیسے ہی آپ کو ہیلو "بنانے کے طور پر دنیا "اور چلانے" ہیلو دنیا " اسے پردے "ہیلو دنیا" پرنٹ. لیکن آپ واقعی ایسا نہیں کر سکتا وہاں سے اس کے ساتھ کچھ. آپ کو ایک متن میں محفوظ تو فائل، پھر اچانک کیا آپ کی اجازت دی کر رہے ہیں کہ یہ اعداد و شمار ہے جوڑتوڑ یا ایک فائل میں ڈال کرنے کے لئے، یا اس کے بعد ایک پروگرام میں ڈال دیا. وجوہات میں سے ایک کیوں ہم کرتے ہیں یہ صرف ہے بعد میں استعمال کرنے کے لئے اعداد و شمار کے ذخیرہ کرنے کے لئے ایک طریقہ کے طور. میں یہاں اقدامات کی ایک جوڑے کی ہے صرف معیاری ذریعے چلنے I / O. قدم سے ایک میں، آپ ایک حوالہ پیدا کرنے کی ضرورت سب کے ساتھ فائل پر ٹوپیاں اسٹار کی فائل فائل. تو ہے کہ ایک فائل میں ایک پوائنٹر پیدا. تو پھر اگر آپ اس کو کھولنے کے لئے چاہتے ہیں. اور آپ کو، لفظی، کا کہنا ہے کہ صرف فائل fopen کی برابر ہے. اور یہ ایک واپس جا رہا ہے آپ صرف کھولی فائل پوائنٹر. میں نے تم میں سے ایک جوڑے کو دیکھا دفتری اوقات میں لوگ. لیکن چیزوں میں سے ایک یاد اشارہ ہے صحیح کچھ پتہ یا شہوت انگیز null، ہو سکتا ہے؟ ہم نے کبھی ایک کیس ہے جہاں ہے تو کسی چیز، شہوت انگیز null واپس آ سکتے ہیں ہمیں کیا کرنا ہے کیا کرتے ہیں ہم نے کبھی بھی اس کو استعمال کرنے سے پہلے؟ ہم تو چیک کرنے کی ضرورت ہے یہ نل ہے یا نہیں، ٹھیک ہے؟ آپ میں سے کچھ تھا ہو سکتا ہے کیونکہ مسئلہ جہاں جو بھی اعتراض بریکآؤٹ میں واپس آ جا رہا تھا، شہوت انگیز null تھا. آپ کو انجام دینے کی کوشش کی اس پر کچھ تقریب. اور آپ کے کمپیوٹر کی سائٹ کو مؤرد الزام ٹھہرایا. ٹھیک ہے نا؟ میں نے آپ کے ایک جوڑے کے شرط لگا کہ مسئلہ تھا ہو سکتا ہے. fopen کی کے ساتھ تو، fopen کی یا تو فائل پوائنٹر کو واپس، یا کچھ غلط ہو جاتا ہے، یہ شہوت انگیز null واپس جا رہا ہے. تو آپ ہمیشہ کی جانچ پڑتال کرنے کی ضرورت ہے یہ شہوت انگیز null واپس نہیں آیا ہے کہ آپ کو کچھ اور کرنے کی کوشش کرنے سے پہلے. یہ ایک معیاری نمونہ کی طرح ہے آپ کو یہاں ضرورت کے لئے جا رہے ہیں کہ. ایک موقع کبھی نہیں ہے کہ اگر کسی چیز، شہوت انگیز null واپس آ سکتا اس بات کو یقینی بنانے کے لئے چیک آپ جاری نہیں کرتا ہے سے پہلے. ورنہ، آپ جا رہے ہیں خوبصورت سائٹ گناہ حاصل کرنے کے لئے. اور کوئی بھی ان لوگوں کے ساتھ نمٹنے کے لئے پسند کرتا ہے. ہم یہاں دیکھ کے طور پر، پہلی دلیل اتنی فائل پر صرف راستہ ہے. وہ فائل موجود نہیں ہے تو، وہ اس فائل کو پیدا کرنے کے لئے جا رہا ہے. اور یہ صرف خالی ہونے جا رہا ہے. اور پھر دوسری دلیل آپ چاہتے ہیں کہ موڈ ہے. ہم اس فائل سے پڑھنے کے لئے چاہتے ہیں؟ آپ کو اس سے لکھنے کے لئے چاہتے ہیں؟ آپ شامل کرنا چاہتے ہیں؟ تو اصل میں میں نے صرف said-- کیا فائل موجود نہیں ہے تو اور آپ سے پڑھنے کی کوشش کر رہے ہیں یہ، یہ ایک غلطی پھینک جا رہا ہے. فائل اگر پسند name-- تو file.text ابھی تک موجود نہیں ہے اور آپ کو لکھنے کے لئے چاہتے ہیں یہ کرنے کے لئے، اس کو پیدا کر دے گا آپ کے لئے file.text نامی ایک خالی فائل. اور آپ کو شامل کرنے کے لئے چاہتے ہیں تو، آپ ایک ہی بات کرنا چاہیے. کہ عقل مندی ہے؟ آپ سے پڑھنے کی کوشش کر رہے ہیں، تو ابھی تک موجود نہیں ہے کہ ایک فائل، یہ ایک غلطی پھینک دونگا. ورنہ، اسے فائل پیدا کر دے گا کے لئے آپ کو یہ کرنا چاہتے ہیں کیا کرنا ہے. ٹھنڈا. اب ہم فائل سے پڑھ سکتے ہیں. اور یہ تو صرف جا قسم کی ہے مختلف افعال کے ذریعے ہم فائل I / O کے لئے ہے کہ. یہ مرضی ، اس ہفتے کی pset میں ضروری ہو جائے میں صحیح طریقے سے یاد ہے. جی ہاں، یہ بالکل ہو جائے گا اس ہفتے کی pset میں ضروری. تو fgetc اگلے کردار بتائےگا. صرف متن کی ایک سطر لوٹتا fgets. یہ کرنے کے لئے کچھ بھی واپس آ جائیں گے ایک نئی سطر، اور یہ ٹوٹ جائے گا. تو fread ایک مخصوص پڑھتا بائٹس اور مقامات ان کی تعداد ایک صف، میں جس کچھ آپ کو ہو سکتا ہے دوبارہ size-- ساتھ کیا کرنا چاہتے مفید ہو سکتا ہے. کتنے لوگوں نے پڑھا ہے راہ کی طرف سے pset رپورٹ،؟ OK. [اشراوی] اسپیکر 1: ٹھیک ہے. ٹھیک ہے. یہ ایک مذاق pset ہے that-- ضرور پڑھ. آپ حذف شدہ میموری کی وصولی کے لئے حاصل یہ کام کرتا ہے جب واقعی دلچسپ card--. لیکن یقینی طور پر، کہ پڑھنا شروع. مجھ سے باتیں آو اگر آپ اس کے بارے میں سوالات ہیں. اوکے، تو کے طور پر میں کہہ رہا تھا، fread کے بائٹس کی ایک مخصوص تعداد کو پڑھتا ہے. کہ کچھ صوابدیدی تعداد ہے آپ کو قائم کرنے جا رہے ہیں. اور پھر صرف چالوں fseek ایک مخصوص پوزیشن پر. تو شاید آپ کی پرواہ نہیں کرتے اگلے 10 بائٹس بارے. تم بس آگے پر کرنا چاہتے ہیں. تم ان کی پرواہ نہیں کرتے. تم بائٹ 11 سے شروع پڑھنا چاہتے. fseek آپ کو ایسا کرنے کی اجازت دیتا ہے. تو یہ آپ کو منتخب کرنے کی اجازت دیتا آپ پڑھ رہے ہیں کے بارے میں. fgetc کو، fgets، اور fread پڑھنے کی وجہ سے فائل میں ایک مخصوص جگہ سے. اس کے بارے میں سوچنے کے لئے ایک راستہ ہے جس سے یہ تو ہے ہماری فائل ہے، آپ سب سے پہلے اسے کھولتے ہیں تو، آپ کو فائل میں اس کی پوزیشن ہے کہ شروع میں شروع ہوتا ہے. جب بھی آپ کو کال fgetc کو، fgetf، یا fread کے، اس سے شروع ہو رہا ہے اس پوزیشن مارکر. کی آپ کو صرف پڑھنے کے لئے چاہتے ہیں، یہاں میموری کے اس حصہ. تم بس نہیں کہہ سکتے. تم یہاں حاصل کرنے کے لئے ہے اور پھر وہاں سے پڑھ یا پڑھیں، ہو جاتا ہے، یا getc، آپ کیا چاہتے ہیں پر منحصر ہے. تو صرف آپ کی اجازت دیتا تلاش کرو میموری کے حصے کو چھوڑ دیں. اور یہ کہ صرف ہے آپ چیزوں کو چھوڑ کر سکتے طریقہ آپ کے بفر میں ان کو پڑھے بغیر. کہ ہر کسی کو احساس ہے؟ ظاہر ہے، وہاں ایک متوازی یہاں کی بہت ہماری پیداوار، یا ان پٹ نئ سمت، آپ کو پڑھنے اور لکھنے کی ہے. لہذا fputc صرف لکھتے ہیں ایک فائل میں کردار. fputs ایک سطر لکھتے. fprintf کے ایک فارمیٹ پیداوار پرنٹ. آپ کو ٹیب ہیں تو، یا جگہ، یا whatnot. اور پھر fwrite کے کچھ لکھتے ہیں ایک فائل میں بائٹس کی سرنی. تو یہ ایک ہی طریقہ ہے fwrite اور fread مطابق ہیں opposites-- fgets، fputs، اور پھر fputc اور fgetc-- لاٹوں کے پاگل، فوری چیزیں. صرف کی قسم یہ handy-- رکھنے آپ کو مختلف اوقات پڑے گا جہاں شاید تم صرف چاہتے ایک وقت میں ایک کردار. شاید آپ کو ایک پوری لائن چاہتے. آپ کی ڈکشنری pset-- ساتھ جس میں دو psets میں میں ہے، میرے خیال میں ہم آپ کو ایک مکمل دے، یقین ایک متن کی شکل میں ڈکشنری جس میں ہر لفظ ہے ایک لائن کی طرف سے الگ. آپ کو پڑھنے کے لئے چاہتے تھے تو اگر ایک وقت میں ایک لفظ میں، آپ پڑھ رہے ہیں، تو آپ کیا استعمال کر سکتے ہیں اور وہ سب، نئی لائنوں پر جدا رہے اور آپ کو صرف ایک وقت میں ایک لفظ چاہتے ہیں؟ سامعین: Fgets اسپیکر 1: ٹھیک ہے. Fgets-- کہ لوٹتا کیونکہ جو کچھ بھی ایک ہی لائن میں ہے. اور ہر لفظ کو اس کے ہے اگر ہی سطر، ہم fgets استعمال کر سکتے ہیں. ٹھنڈا. اس معنی، ہر کسی کی بنا؟ ٹھنڈا؟ جی ہاں، ہم نے کے لئے حاصل کرنے کے لئے جا رہے اشارہ کے ساتھ مزہ حصہ بہت جلد، جہاں آپ کو کچھ ریاضی کرنا حاصل. اور یہ بہت اچھا ہو جائے گا. آپ کی فائل کو بند step-- آخری. یہاں اتنی ساری چیزوں کے ساتھ، ہمارے نمونوں میں سے ایک اس کو واپس کر سکتے ہیں تو یہ ہے شہوت انگیز null، شہوت انگیز null کے لئے چیک. تم سے کچھ کھولتے ہیں تو، آپ بہتر اسے بند کروں گا. تم ہو جب تک ٹھیک ہے، تو تم نے کیا کیا نہیں کر رہے ہیں آپ نے اسے بند کر دیا ہے جب تک کیا. اس قسم کی یہ ختم نہیں ہوا ہے جیسے موٹی عورت گاتی تک. کہ آپ کی فائل کو بند کرنے کی طرح ہے. یہ یہاں، کا کہنا ہے کہ کے طور پر صرف ہمیشہ، اعادہ کرنا تم سے پہلے آپ کی فائل کو کھولنے پڑھ یا اس کے لئے تحریری طور پر. آپ اسے کھول دیا ہے اور اگر ہمیشہ اسے بند. ٹھیک ہے؟ ٹھنڈا. تو یہاں ایک مثال ہے. مجھے نہیں معلوم tiny-- تو تم نے تو لوگ بہت اچھی طرح دیکھ سکتے ہیں کہ. صرف ہم میں اضافہ کر سکتا ہے تو کسی نہ کسی طرح چمک. میں کر سکتا ہوں تو مجھے اصل میں یہ کرتے ہیں. اوکے، تم لوگوں کو نہیں کر سکتے ہیں واقعی آپ، کہ بالکل کر سکتے ہیں دیکھ رہے ہو؟ ٹھیک ہے، ہم اس کے بعد، اس میں کیا کرنے جا رہے ہیں. [اشراوی] میں نے یہ دیکھنے کے لئے زیادہ بہتر ہے فرض. کسی کو بھی دیکھ سکتے ہیں جہاں میرے سوال ماؤس چلا گیا ہے؟ آہ، وہاں یہ جدوجہد کیا is--! OK. بنیادی طور پر، آپ لوگ کس قسم کا ہونا چاہئے کیا اس کا ایک خیال کے کر رہی ہے. یہ درست نہیں ہے. خرچ کے مقابلے میں لیکن میں نہیں بلکہ اس کی وضاحت کروں گا مزید وقت مناسب طریقے سے اس کو وضع کرنے کی کوشش کر. بنیادی طور پر، آپ کو یہاں دیکھ کے طور پر، ہم فائل کو کھولنے کے ساتھ شروع. اور ہم کچھ ہے ہم ہیں کہ ڈیٹا بیس فائل کہ کھولنے یہ ہمارے طالب علموں کا کہنا ہے کہ. اور ہم اس کو لکھنے کے لئے جا رہے ہیں. کہ ظاہر ہے، شہوت انگیز null واپس. تو ہم شہوت انگیز null کے لئے چیک کرنے کے لئے ہے. اور یہ نہیں ہے اس کے بعد اگر شہوت انگیز null، ہم کے ذریعے جانا. آپ کو دیکھ کے طور پر اور، ہم ہیں یہاں ذریعے looping. طالب علموں ہیں. طالب علموں کو تین کے طور پر تعریف یوں کی ہیش ہے. اور جو کچھ ہم کر رہے ہیں ہم ہیں ہے حق، فائل تک پرنٹنگ؟ تو کیا ہوا اگر ہم ہماری فائل میں چھپائی کر رہے ہیں؟ سامعین: سکور صف میں کہ رہے ہیں؟ اسپیکر 1: جی ہاں. میں ہیں کہ سکور بالکل کے صف. تو ہم اس کو کھول رہے ہیں ڈیٹا بیس فائل، جس میں نے فرض کسی قسم ہے گریڈ ڈیٹا بیس کا. اور ہم صرف باہر چھپائی رہے ہیں اس فائل کے لئے ہر طالب علم کے سکور. ٹھنڈا؟ گڈ. بہت اچھے. OK. to-- واپس حاصل چلو سامعین: میں ایک فوری سوال ہے. لوپ کے لئے printf کا نہیں میں ہے؟ یہ صرف اگر لوپ میں ہے؟ اسپیکر 1: نہیں، یہ لوپ کے لئے میں ہے. میں یہاں بہت اچھی طرح سے اپنے ماؤس کو نہیں دیکھ سکتا. تو میں نے کے لئے جدوجہد کر رہا ہوں مناسب طریقے سے فارمیٹ ہے کہ. اس بریکٹ ختم ہو جانی چاہیے. اسے یہاں نیچے ہونا چاہئے. اس لوپ کے لئے آپ میں کیا ہے. وہاں. اب یہ خوبصورت ہے. تو ہے کہ اس کے سوا be-- چاہئے کہ کس طرح ہے میں نے مسترد کر دیا ہے کہ اس آخری بریکٹ کے لئے. OK. کہ ہر کسی کو احساس ہے؟ OK. ہم پر منتقل کرنے کے لئے جا رہے ہیں اگلی بات کرنے then-- جس، اصل میں، آپ جا رہے ہیں کوڈ کو دیکھنے کے لئے کی ضرورت کے لئے. تو میں صرف کرنے جا رہا ہوں اس پر صحیح اب کاپی. OK. تو میں نے اس کوڈ کو آپ لوگ کو دکھانے کے لئے جا رہا ہوں. اور میں آپ کی کوشش کریں اور اعداد و شمار کے لئے چاہتے ہیں یہ چاہیے کیا ہے ایسا کرنے کی. تو ایک یا دو منٹ لے that-- دیئے. کوشش کرتے ہیں اور یہاں کیا ہو رہا ہے پتہ. کوئی خیال ہے؟ ہم جانتے ہیں کہ کم از کم دو کمانڈ لائن میں دلائل، حق؟ میں نے جن میں سے ایک ہونے جا رہا ہے فرض کہ [اشراوی] ہمارے پروگرام ہے اور پھر کچھ اور. [اشراوی] کم ہے کیونکہ اگر دو کے مقابلے میں، ہم نے ان پر چللاو. ٹھیک ہے نا؟ اور استعمال کرنے سے، اس طرح لگ رہا ہے یہ فائل کی کسی قسم جا رہا ہے. ہم سب اس پر متفق؟ تو اب، کیا کر لوپ کیا ہے؟ یہ کیا کے ذریعے چل رہا ہے؟ سامعین: تمام فائلوں. اسپیکر 1: بالکل. اس کے ذریعے جا رہا ہے تمام ہم وہاں ان پٹ ہے کہ فائلوں. تاکہ ہر ایک فائل کے لئے، یہ ہے وہاں کچھ سٹرنگ کھولنے. وہ اس فائل کو کھولنے کی ہے. ٹھیک ہے نا؟ اور یہ اس سے پڑھ رہا ہے. اگر یہ نل ہے کورس کے، کی جانچ پڑتال. اور پھر یہ پرنٹ ہے. اگر یہ نل ہے، یہ صرف ہمیں بتا رہا ہے کہ کہ موجود ہے کہ ایک فائل نہیں ہے. کے ساتھ، یاد ہے کیونکہ ہماری فائل موجود ہونا چاہیے پڑھا. ٹھیک ہے نا؟ لکھنے اور شامل کے ساتھ، آپ اس کے ساتھ دور حاصل کر سکتے. لیکن پڑھنے کے ساتھ، ہماری فائل موجود ہونا چاہیے. اور پھر اس میں کوئی وجود نہیں ہے تو، ہم یہاں کیا کر رہے ہو؟ چلو صرف یہاں شروع کرتے ہیں. کیا یہ بات اس پہلے کردار do--. یہ کیا کرتا ہے؟ وہ صحیح، ایک کردار ہو جاتا ہے؟ تو کیا کر رہی ہے؟ یہ پہلا کردار ہو رہا ہے. کسی کو بھی مسل اختتام کو جانتے ہو؟ سامعین: فائل کے آخر؟ اسپیکر 1: بالکل فائل کا اختتام. تاکہ اس کے ذریعے جانے کے لئے جا رہا ہے پوری فائل، ٹھیک ہے؟ اور پھر اس کی طرف سے اپ ڈیٹ کرنے کے لئے جا رہا ہے ہر بعد کردار ہو. ٹھیک ہے نا؟ اور یہ کیا کر رہا ہے؟ سامعین: یہ کہ ڈال in-- اسپیکر 1: Putchar پرنٹس آپ سکرینسیور کرنے. [اشراوی] کردار. اور پھر جب یہ [اشراوی] اس فائل کو بند ہو جائے گا. سامعین: تم نہیں ایک [کی ضرورت ہے؟ اور؟ ؟] اسپیکر 1: ضروری نہیں. میں نے اس قسم کی اس میں تقاضا ہے، مطلب. اس طویل طور پر، اگرچہ، لوٹتا کیونکہ یہ اس پکڑ نہیں کرتا کے طور پر، تم ٹھیک ہو. میرے خیال میں یہ شاید اچھی مطلب ایک اور کام کرنے کی مشق. لیکن ایک اور ہمیشہ نہیں ہے ضروری ہے خاص طور پر آپ کچھ ہے تو ایک واپسی، کی طرح ہے جس کے اس معاملے میں یہ پالے تو اس کا مطلب ہے کہ یہ، آپ کے پروگرام کو ختم کرنے کے لئے جا رہا ہے اور یہ اس کے لئے حاصل کبھی نہیں کروں گا. یہ تم ہو، جہاں کے کیس کے لئے زیادہ ہے ضروری نہیں کہ کسی چیز کے واپس لوٹنے نہیں. یہ نہیں تھا کیونکہ اگر کچھ بھی نہیں آرہے، یہ، اگر یہ سچ تھے کہ کا مطلب ہو گا اس کے باقی اب بھی جاری رہے گی. اور اس صورت میں، آپ کو ایک جھوٹی چاہتے ہیں. اس کے واپس لوٹنے ہے تو، اور آپ کے پروگرام کی بہتر آخر، ایک اور سب سے ضروری نہیں ہے وقت، سیاق و سباق پر منحصر ہے. یعقوب، آپ سے ایک سوال ہے؟ سامعین: جی ہاں. تو اگلے کردار حاصل fgetc کو کرتا ہے؟ کردار کس طرح اضافہ ہوتا ہے؟ اسپیکر 1: جی ہاں. تو fgetc اگلے کردار ملتا ہے. آپ کو ایک معنی میں C + + طرح اس کے بارے میں سوچ سکتے ہیں. سامعین: مسل اختتام کیا تو تھا؟ اسپیکر 1: مسل اختتام فائل کے آخر ہے. یہ صرف آپ کو پتہ ہے کہ اجازت دیتا ہے کہ ایک مارکر ہے آپ اپنی فائل کے آخر میں ہیں کہ. تو یہ پرنٹ کرنے کے لئے کی جا رہی ہے آپ کے معیاری باہر کرنا. اور پھر اسے بند کرنے کے لئے جا رہا ہے یہ ہو چکا ہے جب فائل. اور پھر چلتے ہیں اگلے فائل، ٹھیک ہے؟ تو مجموعی طور پر، اس پروگرام کیا کرتا ہے؟ [اشراوی] اسپیکر 1: جی ہاں. یہ صرف وہاں سب کچھ باہر پرنٹ. تم لوگوں نے کبھی استعمال کیا ہے، اگر ایسا ہے تو CAT بعض فائل کی اور پھر نام تم میں سے کوئی چیز ہے تو مجھے نہیں معلوم کبھی آپ کے ٹرمینل پر کہ کیا. لیکن کیا آپ نے کبھی استعمال کرتے ہیں تو کمانڈ CAT-- C-A-T-- اور پھر جو بھی فائل آپ اسے وہاں ہے آپ کے ٹرمنل، کرنے کے لئے اسے باہر پرنٹس کچھ چیزوں کے لئے سپر آسان ہو سکتا ہے. میں نے یہ ایک بہت استعمال کرتے ہیں. کہ ہر کسی کو احساس ہے؟ ٹھنڈا؟ اوکے تو آپ کے کام کی طرف سے یا تو now-- اپنے آپ کو یا you-- بھر کے لوگوں کے ساتھ صرف ایک سادہ پروگرام لکھنے کے لئے ہے کہ صرف "ہیلو، دنیا!" لکھیں گے ایک فائل کرنے کے لئے باہر. [اشراوی] [اشراوی] اسپیکر 1:، انہوں نے کیا تھا میں تھا میں نے اس کو بری طرح سے گزشتہ ہفتے کرتے ہیں؟ میں نے یہ اتنا برا تھا خیال نہیں تھا. میں آپ سب کو یہاں ہو خوش ہوں. یہ واقعی مجھے خوشی ہوتی ہے. مجھے سادہ خوشیوں کی ایک لڑکی ہوں. میرے حصے حاضر جب میں نے صرف پسند. تو میں صرف اس کے لئے شروع کر رہا ہوں تم لوگوں کو ہم نے ایک ساتھ کوڈ سکتا ہے تا کہ. میں پر کسی کو ڈالنے کو پسند نہیں کرتے جگہ آپ چاہتے ہیں جب تک کہ. سامعین: کوئز کے لئے، کرتے ہم ایک پروگرام لکھنا ہے؟ اسپیکر 1: آپ کا کہا جا سکتا ہاتھ کی طرف سے سادہ سا پروگرام لکھنے. جی ہاں. سامعین: کوئز حق، اگلے ہفتے ہے؟ اسپیکر 1: کوئز اگلے بدھ ہے. کہ ایک خوبصورت [وہاں ہے کا مطلب ہے؟ CSE؟] ، اس کے بعد پارٹی گریڈنگ جس آپ اپنے سکور حاصل کریں گے کا مطلب ہے کہ واپس کس وقت night-- ہے؟ کون جانتا ہے؟ لیکن یہ اس رات ہو جائے گا. ٹھیک ہے. ہم کس طرح اس کا آغاز کرنا چاہتے ہیں؟ میں آپ کو اس کے ساتھ ایک hint-- شروع ہوتا ہے کو دے دونگا. سامعین: آپ کو ایک فائل کو کھولنے کے لئے ہے. اسپیکر 1: جی ہاں. تو کیا آپ کو اس پر کال کرنا چاہتے ہیں؟ آپ صرف "فائل" کو فون کرنا چاہتے ہیں؟ کے لئے اسے آسان بنانے کے لئے ہیں. تو کیا ہوا ہے fopen-- ہمارے ہونے جا رہا پیداوار ٹیسٹ؟ "ہیلو." یہ کہتے اور ہمارے موڈ کیا ہے؟ ہم اس فائل کے ساتھ کیا کر رہے ہیں؟ سامعین: پڑھیں. لکھنا. اسپیکر 1: ہم اس لئے لکھ رہے ہیں. لولی. ٹھیک ہے، تو اب ہم اس فائل ہے. ہم کیا کرنے کی ضرورت ہے؟ سامعین: اگر وہ نل ہے چیک کریں. اسپیکر 1: یہ بالکل شہوت انگیز null ہے، تو چیک کریں. یہی میں سننا پسند کیا ہے. خاص طور پر، خود کار طریقے سے ہونا چاہئے پر اس نقطہ نظر سے بہت زیادہ. آپ segfaulting کر، آپ کو شاید شروع تو کہیں انگیز null کے لئے چیک نہیں کیا تھا. دس میں سے نو بار، کہ ہے آپ کی غلطی ہو جا رہا. آپ کو صرف میں حاصل کر سکتا ہے تو ایسا ہے اگر یہ نل ہے عادت، ہمیشہ، چیک آپ کی زندگی کو ہونے جا رہا ہے اچھا اور easy-- یا آسان. تو یہ شہوت انگیز null ہے تو دیکھنے کے لئے چیک کریں. یہ شہوت انگیز null نہیں ہے، تو جو دھماکے کے برابر ہے کیا ہے means-- یہ درست ہے شہوت انگیز null نہیں. ہم کیا کرنا چاہتے ہیں؟ ہم صرف پرنٹ کرنا چاہتے ہیں اس فائل، ٹھیک ہے؟ تو جو ہم استعمال کرنے کے لئے جا رہے ہیں؟ سامعین: fprintf کے اسپیکر 1: Fprintf-- خوبصورت. اور fprintf دو arguments-- جہاں لیتا یہ جا رہا ہے اور جو ہم طباعت چاہتے ہے. تو سب سے پہلے ایک ہے؟ یہ کہاں جا رہا ہے؟ سامعین: فائل. اسپیکر 1: یہ فائل کرنے جا رہا ہے. اور ہم طباعت کیا چاہتے ہیں؟ "ہیلو، دنیا!" ٹھیک ہے. ہم ایک آخری thing-- ہے یہاں ایک اور بڑی پیرا میٹر. سامعین: بند. اسپیکر 1: بند. تم وہاں جاؤ. سامعین: یہ کیا ہو رہا ہے فائل خالی ہے تو کیا ہوگا؟ اسپیکر 1: یہ شہوت انگیز null نہیں ہے اگر نہیں، یہ ہے. سامعین: اوہ، تو یہ not-- ٹھیک ہے. پھر fopen کی اور کے لئے اندر جانے کہ دو دلائل، پہلی دلیل ایک بار پھر کیا مطلب ہے؟ اسپیکر 1: دلیل ہے صرف فائل کے نام کی طرح آپ کو جانا چاہتے ہیں کہ. یہ چلتا ہے کے بعد تو، تم کروگے "ہیلو" کہا جاتا ہے کچھ فائل ہے کہ اس کے اندر اندر "ہیلو، دنیا" تھا. وہ سب ہے. صرف نام. سامعین: اور اس کے بعد تحریری طور پر، فائل پہلے ہی موجود ہیں کے لئے نہیں ہے. تم نے کیا کہا ہے؟ اسپیکر 1: ٹھیک ہے. بالکل ٹھیک. "ہیلو" ایک فائل کے طور پر اگر ابھی تک کوئی وجود نہیں ہے، یہ بات ہے نامی ایک فائل بنانے کے لئے جا ہیلو "اور آپ کے لئے اس سے لکھنے. سامعین: تم سے کہہ رہے ہیں جب پروگرام فائل میں لکھا کرنا آپ کیوں لکھ "فائل" کے بجائے کرتے فائل اور fprintf-- کے نام اسپیکر 1: اس معاملے میں، ہم ہیں کیونکہ تمام caps-- اسٹار میں کہ بڑے فائل، دائر. تو یہ فائل پوائنٹر ہے کہ آپ کے بارے میں بات کر رہے ہیں. یہ طریقہ ہے کہ ہم صرف اس کا حوالہ دیتے. تو اس صورت میں، آپ کو فائل آہا کے بارے میں سوچ کر سکتے ہیں، ہم یہاں this-- فائل کو استعمال کر سکتے ہیں "ہیلو" کی افتتاحی سے مراد اور یہ لکھ دے. سامعین: ہم نے ایک "ہیلو" ڈال سکتے بجائے [؟ بس؟] چ فائل؟ اسپیکر 1: نہیں، کیونکہ "ہیلو" کھلی اور writeable ہو کرنے کی ضرورت ہے. یہاں فائل ایک جیسی ہے OK کا کہنا ہے کہ designator، ہم اس فائل hello-- ہے ہم دیکھ رہے ہیں کہ. اسے کھول دیا گیا ہے. اور ہم اس کو لکھنے کے لئے جا رہے ہیں. آپ صرف "ہیلو" کا استعمال کرتے ہیں، جو اس میں محفوظ ہے. تو یہ باہر پاگل کرنے جا رہا ہے. میں آپ کو یہ نام دیا جا سکتا تھا، مطلب. آپ کو فائل کر سکتا تھا ستارہ، "ہیلو"، جو کہ برابر ہے. لیکن ساری بات آپ کو یہ ہے کہ ترتیب میں ایک فائل ستارہ پوائنٹر ضرورت ان افعال کو استعمال کرنے کے قابل ہو کرنے کے لئے. سامعین: آپ کر سکتے ہیں فائل، ستارہ، فائل، "ہیلو" یا آپ کو ڈال کرنے کی کیا ضرورت ہے اس کی طرف سے، فائل کے سٹار دائر؟ اسپیکر 1: آپ کر سکتے ہیں "ہیلو."، فائل، ستارہ کرتے آپ کے لئے اس کو تبدیل کر سکتے ہیں جو بھی نام آپ چاہتے ہیں. یہ مکمل طور پر غیر منطقی ہے اس کے نام کیا ہے. آپ اس کا کچھ بھی نام کر سکتے ہیں. اگر تم چاہتے تھے، سپتیٹی پرواز کو اس کا نام. سامعین: کے لئے قیمت درج کرنے میں "W" کیا ہے؟ اسپیکر 1: "W" صرف موڈ ہے. تو ہم اس فائل میں لکھ رہے ہیں. اچھا ہر کوئی؟ واضح؟ جی ہاں. سامعین: یہ اس لکھتا تو جب جہاں ہم پھر اس فائل کو حاصل کر سکتا ہوں، دائر؟ اسپیکر 1: یہ ایک ہی میں ہوں گے آپ فی الحال میں ہیں اس ڈائریکٹری. آپ pset تین میں ہیں اور آپ اپنے pset کے اندر اندر اس، کو چلانے کے تین فولڈر ہونے جا رہا ہے نامی یہ فائل "ہیلو." ٹھنڈا؟ اچھا ہر کوئی؟ آپ سب ہیں مجھے لگتا ہے جیسے جو بہت اچھا ہے، یہ ہو رہی ہے. OK. تو واپس میری سلائڈ show-- کرنا چیزیں کام جب میں محبت کرتا ہوں. اوکے، تم لوگ بہت پرجوش اشارہ کر رہے ہیں؟ نوٹیفائر عظیم ہیں. وہ تھوڑا سا لے آپ کے سر کے ارد گرد لپیٹ کرنے کے لئے. یہ میرا دوسرا سال ہے تدریسی اشارہ. اور میں نے آخر اسے ملا ہے. آپ جدوجہد تو، اگر یہ ٹھیک ہے. میں نے پہلے کہا، تصاویر ڈرائنگ ، CS میں چیزوں کے ساتھ بہت مدد ملتی ہے جتنا میں نے لوگوں کو دیتے ہیں لگتا ہے کے طور اوہ، ہم نے ایک کمپیوٹر پر ہیں سوچنے کے لئے. ہم صرف کوڈ کو کرنا چاہئے. No-- ڈرائنگ کی تصاویر واقعی میں آپ کی مدد کرے گا. اور میں واقعی میں آپ کی حوصلہ افزائی آپ kindergartner سائڈ میں نل اور crayons باہر لانے یا مارکر اور ڈرا. یہ آپ کی مدد کرے گا کیونکہ. اور آپ کو دفتری اوقات میں مجھے دیکھ کر، مجھے کاغذ کی stacks ارد گرد لے کر کیا جائے گا قلم چیزیں باہر ڈرائنگ کے ساتھ. تو خاص طور پر کے ساتھ تصویریں بنانے اشارہ. اور میں ہم اصل میں کرنے جا رہے ہیں یقین ہے یہاں بھی کچھ تصاویر ڈرائنگ ہو جائے. تو تم لوگ سب، Binky کی دیکھنے کو ملی یہ ٹھنڈا claymation کی چیز. اور ہم نے اسے جب واقعی مضحکہ خیز لگتا ہے انہوں نے ٹکڑے ٹکڑے کر کے ایک گروپ میں فٹ. اس طبقے کے لئے کچھ کامک ریلیف ہے. C [اشراوی] اس عظیم صلاحیت میموری کو کنٹرول کرنے کے قابل ہو جائے کی. اور یہ کہ واقعی چیزوں میں سے ایک ہے یہ اس طرح ایک طاقتور زبان بناتا. لیکن عظیم طاقت آتی ہے کے ساتھ عظیم ذمہ داری. اور پاگل چیزیں ہو سکتا ہے آپ کو ہوشیار نہیں ہو تو. تو اگر آپ کو استعمال کرتے ہوئے کر رہے ہیں جب اشارہ، آپ کو بنانے کے لئے چاہتے ہیں یقین ہے کہ آپ واقعی سمجھ بالکل آپ کیا کر رہے ہیں. کی امید ہے کہ اگلے تھوڑا سا وقت آپ واقعی سمجھنے میں مدد ملے گی اشارہ، کہ کس طرح ان کا استعمال کرنا، اور ان کو استعمال کرنے کا طریقہ. لہذا میں ہم ہے یقین کے میموری پہلے اس آریھ دیکھا. تو یہ صرف ایک سادہ آریھ ہے کس طرح چیزوں میموری ذخیرہ کیا جا سکتا ہے. تو آپ بنیادی طور پر ان کے پاس ایک بائٹ بلاکس کی بڑی arrays کے ہم یہاں معمولی لئے کیا ہے ایک ایک وقت کی طرف سے دھیرے بڑھتا. یہ ہیکس میں ہے [اشراوی] تا آٹھ بٹ بلاکس. اور ہر بلاک منسلک کیا جاتا ہے کچھ شش اعشاری ایڈریس کے ساتھ. تم نے کبھی دیکھیں تو اگر 0x کے، کہ صرف notating ہے یہ ایک شش اعشاری ایڈریس ہے کہ. آپ کو اس کا مطلب ہے کہ فرض کر سکتے ہیں یاد میں کچھ پتہ. ہم میموری پتوں کے بارے میں بات کر رہے ہیں جب بھی آپ شش اعشاری دیکھیں. ہم ints متغیر ہیں ہے، floats کے کہ سٹور متغیر ہیں. ints کے اسٹور ints کے تاکہ. floats کے اسٹور floats ہے. تو ہم نے بھی اشارہ ہے اس اسٹور میموری پتوں. کہ تعریفیں کی ایک طرح سے ہے. نوٹیفائر خصوصی طور پر ہیں میموری پتوں کے لئے. تو ہے کہ وہاں آپ کی قسم کی طرح ہے. آپ کے آلے 32 بٹ، جس کا مطلب ہے آپ کی میموری ایڈریس چار بائٹس ہے کہ. تو اگر آپ کے پاس ہے کہ کسی بھی پوائنٹر بھی چار بائٹس کو ہونے جا رہا ہے. یا یہ چار بائٹس ہے اور اگر، میموری چار بائٹس ہے. نوٹیفائر سٹور میموری. لہذا، وہ چار بائٹس ہو. Cool-- صرف یہ ہے کہ مضبوط بنانے کے لئے چاہتے ہیں. اب آپ کو اس مزاحیہ حاصل کرنا چاہئے. میں نے تم میں کتنے نہیں جانتے xkcd پرستار ہیں، لیکن میں xkcd سے محبت کرتا ہوں. یہ بہت اچھا ہے. ٹھیک ہے. میں نے کہا کہ کے طور پر تو یہ بات ہے، اشارہ کرنے بہت زیادہ صرف کچھ اور پسند. آپ کو ایک قسم ہے. تم ایک نام ہے. ٹھیک ہے نا؟ کہ ہم وہاں ہیں کیا ہے. [؟ ہیکس؟] ستارہ ہے، یہ ایک پوائنٹر ہے کا مطلب اور پھر آپ سے بات کرنا چاہتے ہیں جو کچھ بھی. تو قسم کی نمائندگی کرتا ہے آپ کو محفوظ کر سکتے ہیں کیا. ٹھیک ہے؟ اسی طرح میں کہ ہم ints کرتے ہیں تو، ہم وہاں ایک int ذخیرہ کرنے کر رہے جانتے. ایک پوائنٹر کے ساتھ، یہ ایک میموری ایڈریس کی ڈگری حاصل کی. لیکن کیا اس کا مطلب یہاں کہاں ہے that-- ہے ایک ڈرائنگ ہاتھ میں آنے والا ہے. تو اس معاملے میں، ہم ہیں کچھ کا کہنا ہے کہ دو چار value--. چار ایڈریس سے ایک میں ہے. ٹھیک ہے؟ یہ سب سے پہلے ایک یہاں کا مطلب یہ ایک پوائنٹر 2X ہے کہ. ٹھیک ہے نا؟ یہ کچھ پوائنٹر X ہے. ایکس، جو بھی کچھ ہو سکتا ہے. جو کچھ بھی X X چار ہے کہیں is--. اسے محفوظ کرنے جا رہا ہے یہاں میموری ایڈریس. تو int، ستارہ، x-- یہ ہے میموری میں کچھ دوسرے کی سلاٹ کون ہے یہ کیا جانتا ہے. لیکن یہ یہاں پتہ ذخیرہ کرنے جا رہا ہے. تو یہ like-- ہوگی اس معاملے میں، جو کچھ بھی ہو، محفوظ کیا جاتا ہے، جو کچھ بھی 0x1-- پر محفوظ کیا جاتا ہے ہمارے پوائنٹر رکھتا اس پتے پر، کے ساتھ مطابقت کرنے کے لئے ہے جو ہم پر نامزد کر دیا ہے. لہذا 0x1 میں، اس معاملے میں، یہ ایکس ہے. یہ صرف کبھی ایک ہو سکتا ہے ہم اس کا استعمال کر رہے ہیں جبکہ int کی. اسی طرح، اگر ہم ایک اور 1Y، جو کچھ بھی ایک Y ہے کے ساتھ ایڈریس ذخیرہ ہے Z کے ساتھ ایک char-- ہی بات کو. اسی طرح میں، جب بھی آپ کوشش کریں اور intx 0.4 برابر، یہ تم پر چللاو اور ہونے جا رہا ہے کوئی کی طرح، آپ کو آپ کو ایک int چاہتا ہے. یہ ایک int ہونا چاہیے ہے. یہ ایک فلوٹ بنانے کی کوشش کر بند کرو. تاکہ چیزیں وہ کیا بننا چاہتے ہیں رہنے دو. چیزیں خود رہنے دو. اتنی بڑی بات صرف یہ ہے پوائنٹر کی جو بھی قسم یہ ہے کہ صرف ہے، ہے آپ کو وہاں محفوظ کر سکتے ہیں ایک ہی چیز. ٹھیک ہے؟ پریکٹس کے ساتھ، کے ساتھ کے طور گزشتہ ہفتے، ہر چیز واقعی نوعیت کا خلاصہ لگتا ہے. ہم کچھ پریکٹس کرنے جا رہے ہیں. یہ زیادہ احساس کرنا چاہئے. لہذا حوالہ اور یہ بات ہے dereferencing-- بہت ضروری ہے ان کو براہ راست حاصل کرنے کے لئے. میں اب بھی تازہ کرنے پڑے ہر اب اور تو. اور میں میں جس میں سے ایک چاہتے ہیں، انتظار کی طرح ہوں؟ تو ایمپرسینڈ دراصل دے گا تم میں ریفرنس یا ایڈریس. تو یہ پتہ میں لوٹتا جو متغیر کی یاد ذخیرہ کیا جاتا ہے. تو یہ اصل میں آپ کے لئے واپس جا رہا ہے ایک شش اعشاری، محولہ لقب ضبطی، جبکہ اصل میں آپ کو دینے جا رہا ہے محفوظ ہے کہ اعداد و شمار. ٹھیک ہے؟ تو ہم نے ایک مثال کو دیکھنے کے لئے جا رہے ہیں واقعی روزہ، یا اصل میں، اگلے. OK. تو ہم واقعی سوچنا پڑے احتیاط سے اس کے بارے میں. تو یہاں ہم کچھ عددی ایکس ہے. میں کوشش کریں اور اس کو اپنی طرف متوجہ کرنے کے لئے جا رہا ہوں میری صلاحیتوں کے بہترین باہر. تو ہم اس کی سلاٹ ایکس پڑے جا رہے ہیں. اور یہ پانچ ذخیرہ کرنے ہے. اس کے ایڈریس 0x4 ہے. ٹھنڈا؟ سب اچھا. تو اب ہم اس پوائنٹر ہے. یہ یہاں ختم ہو گیا تھا. اور ایمپرسینڈ ہمیں دیتا ہے کسی چیز کا پتہ. لہذا، اس معاملے میں، یہ ایکس کا پتہ ہے. ایکس کا پتہ کیا ہے؟ 04-- اور اس پوائنٹر 0x08 پر ہے. ٹھنڈا؟ لہذا آپ کو اس کے بارے میں سوچ کر سکتے ہیں پوائنٹر، 04، صرف یہاں اشارہ ہے. اور وہ اشارہ کہا جاتا رہے ہم اس میں زیادہ ملے کیونکہ جیسا، آپ چیزوں کی طرف اشارہ کرتے دیکھ کر جا رہے. اور ایک بلاک دوسرے کی طرف اشارہ کرتے ہوئے بلاک بہت زیادہ احساس کرے گا. تو یہاں دو ہیں. اور پھر ہم سے کچھ ہے what-- 0x0c ہے جو کاپی،. اور یہ جا رہا ہے ہمارے پوائنٹر dereference. تو کیا یہ کہہ رہا ہے OK، یہاں ہماری پوائنٹر ہے. یہ ذخیرہ قیمت کیا 0x04 ہے، اور یہ اس پتے پر جائیں جاتا کہہ رہا ہے اور اس میں کیا ہے مجھے بتاو. تاکہ مؤثر طریقے ہے یہ تیر کیا کر رہی ہے. اگر آپ کو اپنے اسٹار کی طرح اس کے بارے میں سوچ سکتے ہیں. ہم نے سٹار کرتے ہیں جب تو ٹھیک ہے،، اس پر عمل کا مطلب ہے کہ. اس ایڈریس پر جاؤ. اور یہ صرف مندرجہ ذیل بنیادی طور پر ہے اس میموری حصہ اس تیر کے نشان. اور 5 ہے جس میں، اس میں کیا ہے ہمیں دے. ہماری کاپی 5 کے برابر ہے یہ ہے کیوں. کہ عقل مندی ہے؟ کسی کے ذریعے جانے کے لئے میری ضرورت کرتا کہ ایک بار پھر، یا اس سے زیادہ آہستہ آہستہ؟ تم نے مجھے جانا چاہتے ہیں یہ ایک وقت کے ذریعے؟ OK. ہم اسے دوبارہ redraw کرنے جا رہے ہیں. ہم شروع کرتے ہیں تو، ہم سب ہمارے پاس اس بات پر متفق ایک متغیر ہے کہ میموری میں سے کچھ حصہ ہم 5 کے برابر مقرر کیا ہے کہ ایکس. یہ یاد میں ہے جہاں ہم کنٹرول نہیں کرتے. تو یہ جگہ صرف ہے منمانے تفویض. وہاں اچھا ہے؟ OK. پھر ہم ایک int ایک پوائنٹر ابتدا. کہ اس کی طرف اشارہ کرنے کی اجازت ہے کیوں ہے ایکس ہم یہاں میں ایک int ہے کیونکہ. ہم میں سے ایک حصہ ہے میموری کیونکہ اس پوائنٹر صرف کسی اور چیز کی طرح ایک متغیر ہے. یہ منمانے تفویض یاد میں کچھ جگہ. اور کیا یہ ذخیرہ ایکس کا پتہ ہے. ایمپرسینڈ ایکس کا پتہ مطلب. تو ایکس کا ایڈریس کیا ہے؟ سامعین: یہ صفر ہے اسپیکر 1: 0x04. لہذا then-- گزشتہ ایک. ہم پھر کچھ copy-- ہے صرف دوسرے متغیر. تو چلو کچھ صوابدیدی جگہ تفویض. ہمارے پوائنٹر dereference اور ہم. سٹار پر جانے کا مطلب ایڈریس میری پوائنٹر میں ذخیرہ. وہاں کیا ہے مجھے بتاو. لہذا ایڈریس ذخیرہ ہمارے پوائنٹر میں 0x04 ہے. تو ہم نے اس پتے پر جائیں. یہ کہ کے ایڈریس کی طرف اشارہ ہے. اس میموری بلاک کے اندر کیا ہے؟ یہ ایک پانچ ہے. تو ہے کہ ہم اپنے نقل تفویض کیا ہے. اچھا ہر کوئی؟ ٹھنڈا. دوبارہ تصاویر. لہذا میں ہوں یہاں اقدار سے باخبر رہنے کے تم لوگ اس کے بارے میں سوچنا کرنے کے لئے جا. ہم ایک دوسرے کی تصویر کو اپنی طرف متوجہ کر سکتے ہیں. لیکن میں آپ کی کوشش اور وجہ کے لئے چاہتے ہیں ایک منٹ کے لئے اپنے اپنے طور پر اس کے ذریعے. وہ دے نہیں تھا کے بعد ہمیں ایک مثال ایڈریس، میں نے صرف ایمپرسینڈ x-- کرنے جا رہا ہوں جس گھر کو ڈرائیو کی مدد کرنی چاہئے. ایمپرسینڈ ایڈریس مطلب. سب سے پہلے ایک، ہر کسی میں اتنی پہلی سطر کے ساتھ جانا. کچھ ایکس سیٹ کی پانچ کچھ یاد میں بے ترتیب سلاٹ. INT ستارہ پوائنٹر برابر ہے ایکس کا پتہ کرنے کے لئے، ٹھیک ہے؟ INT ستارہ پوائنٹر پیدا اس بلاک، یہ پوائنٹر بلاتا، اور ایکس کا پتہ کرنے کے لئے اسے دیتا. مجھے ampersands کے میں خوفناک ہوں. اب کیا ہم کر رہے ہیں ہم کہتے ہیں یہ ہے OK، ہمارے پوائنٹر dereference. تو ہم OK، ہمارے پوائنٹر میں کیا جانا ہے؟ یہ ایمپرسینڈ ایکس کی. ایمپرسینڈ ایکس کے پاس جاؤ اور اس میں reassign. تو اب، ایمپرسینڈ ایکس 35 کی جا رہی ہے. تو بنیادی طور پر، جب آپ ہیں محولہ لقب ضبطی، تم ٹھیک جاؤ. آپ کو ڈرائنگ کرنے جا رہے ہیں اس طرح کی تصاویر کے. آپ کو ڈرائنگ کرنے جا رہے ہیں وہ کہاں ہے سے زیادہ آپ کے تیر. لہذا یاد میں اس مقام پر جانا ہے اور یا تو مجھے اس قدر واپس دے، یا اسے تبدیل. اس صورت میں، کیونکہ ہم اس پر ہیں ، ہم اس کے بتائے رہے ہیں قدر 35 بننا. گزشتہ میں جبکہ ایک کے، اگر آپ کو نوٹس، کہ ہم تھا کیا بتائے ہوئے تھے یہاں کچھ اور میں. تاکہ وہ اس خوفناک میز ہے. یہ اتنا برا نہیں ہے. کیا تم لوگ اس پر کام. میں اس بورڈ پر باہر اپنی طرف متوجہ کرنے کے لئے جا رہا ہوں. ہم اوکے، ایک ساتھ مل کر اسے باہر کو بھرنے کے لئے جا رہے ہیں؟ لہذا کچھ کاغذ، قبضہ قبضہ ایک پارٹنر، کام شروع. میں نے ایک حاصل کرنے کے لئے جا رہا ہوں چاک کا بڑا ٹکڑا. یہ ایک بہت ہو رہا ہے کیونکہ. OK. پروفیسر: OK. کی پہلی صف کے ساتھ شروع کرتے ہیں. ہم نے اس وقت، وہاں تم لوگوں کو شروع کریں گے شاید کچھ زیادہ کے ذریعے کام کر سکتے ہیں. OK. ایک وہی ہے جو اتنی ب اوقات ج برابر ہے؟ یہ ایک چال کا سوال نہیں ہے، میں وعدہ کرتا ہوں. طالب علم: 4 بار 5. پروفیسر: 4 بار 5. 20. تو ب کیا ہے؟ طالب علم: 4. پروفیسر: اور C؟ طالب علم: 5. پروفیسر: 5. اور پھر یہ صرف کرنے کے لئے کی جا رہی ہے ایک، ایمپرسینڈ ب ایمپرسینڈ جائے، ایمپرسینڈ C، ہے نا؟ برا نہیں ہے. یہ کافی آسان ہے. OK. اگلے ایک تو کیا. ایک کیس میں، ایک مرتبہ ج برابر کسی کو بھی اس سے ناواقف تھا. واقف ہر شخص ہے اوقات کے برابر کے ساتھ؟ اوکے، یہ سب کچھ اسی میں ہے means-- ایک کے لئے آشلپی ایک مرتبہ ج برابر. تم نے بھی تقسیم کے ساتھ یہ کر سکتے ہیں، باقی نکالنا اس کے علاوہ، کے ساتھ. آپ کو ایک برابر کیا کر سکتے ہیں، یا ایک پلس سی برابر ایک ایک پلس C، برابر مائنس برابر کا مطلب C ایک ایک مائنس ج برابر ہو گی. یہ صرف syntactic چینی ہے. لہذا، اس معاملے میں، ایک کے برابر ہے ایک مرتبہ ج ہمیں کیا دے گا؟ ایک بار پھر، نہیں ایک چال کے سوال. طالب علم: 100. پروفیسر: 100. کسی اور چیز کو تبدیل کرتا ہے؟ نمبر شاید میں نے آخر میں ملے گا میرے ampersands کے میں بہتر. طالب علم: OK، افسوس، کہ کس طرح آپ 100 حاصل کیا؟ پروفیسر: OK. تو ایک ایک کے برابر ہے اوقات C، تو ایک مرتبہ ج. طالب: اوہ، آپ استعمال کر رہے previous-- لئے ایک پروفیسر: ہاں. تو یہ ہمارے سب سے زیادہ حال ہی میں اقدار ہیں. یہ آپ کو کیا ہونا چاہئے ہیں ہم ذیل میں منتقل کے طور پر ٹھیک ہے، کا استعمال کرتے ہوئے. لہذا، ب صرف ایک چیز تبدیل کرنے کا حق ہے؟ تو باقی سب میں بھرنے دیں. B. کیا ب ہونے جا رہا ہے؟ ہونا یا نہیں ہونا کرنے کی. تو کیا کر رہی ہے؟ PA کر کے سٹار کیا ہے؟ طالب علم: PA کے مقام پر کوڈ. طالب علم: نہیں، بہت. تو یہ ایک D حوالہ ہے. طالب علم: تو ب PA کے ہاتھ قدر ہے. پروفیسر: جی ہاں، تو PA ہے ایک کا پتہ، صحیح؟ تو یہ ایک جگہ ہے جہاں کے لئے جانا کہہ رہا ہے ذخیرہ اور اس کی قیمت دے. تو ب کیا ہے؟ طالب علم: 100. پروفیسر: 100. کامل. ٹھیک ہے، تو پی سی کیا تبدیل کر رہا ہے کر رہا ہے. باقی سب کچھ ایک ہی رہتا ہے. کیا پی سی ہونے جا رہا ہے؟ سادہ تفویض. PC PA کے برابر ہے، اور PA کیا ہے؟ طالب علم: ایک ایمپرسینڈ. پروفیسر: کامل. اب ہم دلچسپ ہو رہی ہے. OK، کے نیچے اس ایک توڑ دو. کہ ہے کیونکہ سب سے پہلے، کیا، ب اوقات سی کی اس میں سے ایک کی آسان حصہ، ہے نا؟ B اوقات ج is-- طالب علم: 500. پروفیسر: جی ہاں، تو اس میں سے ایک کیا کر رہی ہے، اس کا ستارہ PB تو، کیا تبدیل کر رہا ہے؟ طالب علم: کیا the-- میں ہے پروفیسر: ب میں کیا ہے؟ طالب علم: خلا میں کیا ہے کہ پی بی اشارہ کر رہا ہے. پروفیسر: اور پی بی to-- اشارہ کر رہا ہے طالب علم: B. پروفیسر: B. تو صرف چیز بدلتی حق، ب ہے. تو ب اوقات C، 500. اس لئے کہ اب بدل کیا ہے. ٹھنڈا. لولی. تم لوگوں کو بہت اچھا کر رہے ہیں. اس ایک کے نیچے توڑ ٹھیک،. C حق، تبدیل کر رہا ہے؟ تو ہم باقی سب میں بھر سکتا ہے. چلو دیکھتے ہیں. OK. ہم سی ہونے جا رہا ہے جانتے ہیں کہ دو نمبروں کی مصنوعات، ہے نا؟ کیا دو نمبروں، اگرچہ؟ طالب علم: A اور C؟ پروفیسر: تو ایک ہے صحیح پہلی ایک کے لئے. تو ہم حق، ایک کی پی حوالہ چاہتے ہیں؟ ایک کے لئے ایک پوائنٹس کی P، اس لئے ہم جانتے ہیں کہ یہ 100 بار کیا ہونے جا رہا ہے؟ کے لیے پی سی نقطہ کرتا ہے بار؟ ایک کی طرف اشارہ ہے. لہذا 100 بار 100 10،000 ہے. کہ سمجھ میں آتا ہے کرتا ہے؟ ٹھنڈا. ہوم مسلسل، لوگ، آخری قطار. OK. یہاں کیا تبدیل کر رہا ہے؟ طالب علم: A. پروفیسر: A. کامل، تاکہ باقی سب ایک ہی رہ سکتے ہیں. OK. اور ایک کیا ہے؟ تو یہ ایک مرتبہ کیا ہے؟ یہ ستارہ PB ہے. لہذا اسٹار کی PB یہاں ہے کا مطلب PB، پی بی پوائنٹس B کرنے کے لئے. طالب علم: 500. پروفیسر: 500. تو ہم 500 بار 100 ہے. کہ 50،000 ہے. واہ! وہ دیکھو. طالب علم: ہم کیوں کرتے ہیں last-- لئے & C پروفیسر: معذرت. طالب علم: OK، اوہ. پروفیسر: میرا برا. تحریر کی وجہ سے بہت سے. اچھا ہر کوئی؟ برا بھی نہیں، ٹھیک ہے؟ بس تھوڑا سا لیتا ہے جبکہ کے ذریعے کام کرنے. آپ اسے ٹوٹ تو، کیا ہر ایک حصہ سمجھتے جیسا to-- حوالہ دیتے ہوئے ہے یہ ہے سب کچھ کے ساتھ، تھوڑا کے لئے اس کو توڑنے yes-- پھر میٹرکس، اور مسائل، اور آپ کو کچھ خوفناک چیزیں کر سکتے ہیں. وہاں جوابات ہیں، لیکن ہم نے یہ کر دکھایا. پوائنٹر ریاضی. آہ. میرے ہاتھوں تمام chalky سے ہیں. پس انہوں نے مزید کہا یا subtracting کی int پوائنٹر ایڈجسٹ پوائنٹر کی قسم کا سائز کی طرف سے. کس طرح ہر قسم کے یاد رکھیں ایک مختلف سائز ہے؟ ایک ڈبل یا ایک طویل طویل ہے، طرح آٹھ اور int چار ہے لیکن چار میں سے ایک ہے. تو اگر آپ کو کیا کرنا چاہتے ہیں یاد کرنے کے لئے ایک بات is-- کتنا آپ کے اتنا پوائنٹر قیمت اصل میں تبدیلیاں پر انحصار کرے گا پوائنٹر کی قسم یہ ہے. اس کے ساتھ اچھا ہر کوئی؟ میں نے اس کو ختم کر سکتے ہیں؟ ہم اچھے ہیں؟ بہت اچھے. ہم نے کچھ پوائنٹر ہے تو اگر یہ جا رہا ہے that-- ہوں be-- کرنا یہ ایک int پوائنٹر بنانے کے لئے جا. یہ اس کا ذخیرہ. اگر آپ پوائنٹر کہنا کرنے کے لئے تھے پلس ایک، ایسا کرنے کے لئے کیا ہو رہا ہے اس کو اپ ڈیٹ کرنے جا رہا ہے کر رہا ہے ایک int کے سائز کی طرف سے یہ کہ ہے کیونکہ پوائنٹر کی قسم یہ ہے. سی کے ساتھ، سب کچھ ہے بہت سخت اور ونیدوست. int پوائنٹر طرف اپ ڈیٹ کرنے کے لئے جا رہی ہے ایک int لے جائے گا جگہ کی رقم. ایک int چار بائٹس ہے. تو کیا اس میں تبدیل کریں گے؟ تم صرف اس پر چار کا اضافہ کر رہے. اب آپ کا پوائنٹر OK be-- گی. اگر تو یہ ایک چار تھا اور ہم پوائنٹر کیا پلس ایک، یہ اب کیا ہو گا؟ یہ ہم ڈرامہ started-- تو یہ 0x08 چلو ابھی started--. اب یہ ایک تھا کہ اس کا کہنا ہے کہ پوائنٹر چار، اور ہم ایک مزید کہا. اس سے کیا کرنے کے لئے تبدیل کریں گے؟ ایک چار کتنے بائٹس ہے؟ سامعین: ایک. اسپیکر 1: ایک. سامعین: تو 0x09. اسپیکر 1: تو یہ نو ہو گی. لہذا صرف کچھ یاد کرنے کی. اگر آپ ایک کا اضافہ بس جب، یہ نہیں ہے یہ ایک چار ہے، جب تک ایک کے انہوں نے مزید کہا. یہ کتنے کا اضافہ کر رہا ہے ، یہ ہے کہ قسم بائٹس جو ہم نے کی ضرورت کیوں ہے یہاں اس مساوات. تو یہ int کے اوقات سائز پوائنٹر کی قسم کا. تو ہم یہاں مثال ہے. Y، اس قدر، 0x4 کو تفویض کیا گیا تھا ہم Y کیا پلس ایک برابر ہے جب. جو کچھ اس میں ہے، کیا ہے X میں، تبدیل نہیں ہوتا. کیا تبدیلی کرتا Y میں کیا ہے. Y میں محفوظ ایڈریس چار کی طرف سے اپ ڈیٹ کر دیا چار بائٹس ایک int میں موجود ہیں کیونکہ اور یہ ایک int پوائنٹر ہے. ٹھیک ہے. تو اب ہم ایک اور مشق ہے. تو سوال کو پرنٹ گا کیا ہے. کوئی خیال ہے؟ سامعین: کی تعداد خوش بلی میں حروف؟ اسپیکر 1: بالکل. پس آپ اپنے سٹرنگ کے ساتھ پسند. سب نے یہ پیش آتا ہے؟ ہم اس کے ذریعے چلنے کرنا چاہتے ہیں؟ OK، ہاں. تو ہم یہاں ہے کیا تو بہت زیادہ ہے اس طرح. میں نے کی ضرورت نہیں ہے [اشراوی] مضحکہ خیز. تو ہم یہاں اپنے سٹرنگ، خوش بلی ہے. لولی. ہم نے کچھ کا انسداد ہے کہ ہم کا ٹریک رکھ رہے. تو ہم نے کچھ حروف * پوائنٹر ہے کہ صرف STR کے لئے برابر مقرر کیا گیا ہے. کیا یہ کر رہا ہے یہ ہے ہے کچھ پوائنٹر بتائے آپ سٹرنگ کے آغاز پر. مجھے یقین ہے، کیونکہ، اس کے طور پر لیکچر میں ذکر کیا گیا تھا، ہم یہ آپ لوگ دیا تار کہتے ڈیٹا کی قسم. لیکن واقعی ڈور صرف کر رہے ہیں ایک سرنی چار * طرح of--. یہ حروف کی ایک گروپ کو ایک پوائنٹر ہے یاد میں ملحق ہو. تو یہ صرف اس کا تعین کرتا ہے کسی بھی سٹرنگ کے برابر ہے جہاں کی طرف سے شناخت اس کے پہلے کردار ہے. تو یہ صرف کچھ نقطہ قائم کر رہا ہے سٹرنگ کے آغاز کے برابر. وہاں سب اچھا ہے؟ ٹھنڈا. یہ ہو تو ہمارے پوائنٹر محولہ لقب ضبطی ہے. تو یہ اصل میں جا رہا ہے یہاں موجود ہم کچھ قدر دے، ہمارے سٹرنگ میں ہم کے بارے میں بات کر رہے ہیں کہ. اور ہم جب تک کہہ رہے ہیں یہ شہوت انگیز null مختتم نہیں ہے. تو اگر آپ کو ملتا ہے جب تک جا رکھنے سٹرنگ کے آخر تک. ایک کی طرف سے آپ پوائنٹر کو اپ ڈیٹ. ر تو یہ اصل میں ایک کی طرف سے اپ ڈیٹ کرے گا ہر بار اس نے ایک چار ہے کیونکہ، چار *. تاکہ اس کے ذریعے جانے کے لئے جا رہا ہے. اس کو اپ ڈیٹ کرنے جا رہا ہے. یہ چلتا ہے پہلی بار اتنی، یہ H میں یہاں ہونے جا رہا ہے. اس کو اپ ڈیٹ کرنے جا رہا ہے. یہ ایک ایک ہو جائے گا. یہ تو اور تو آگے ایک P، Y ہو، اور گے. ہم انسداد اپ ڈیٹ کریں گے. اسے آخر تک پہنچ جاتا ہے، تو یہ صرف یہ ہو گیا ہے کہ کس طرح دور پرنٹس. جی ہاں. سامعین: یہ شمار تو دائیں سے ایک کے طور پر خلا،؟ OK. اسپیکر 1: تو سوچو. ایک سوال یہ ہے کہ سامعین: [اشراوی]. اسپیکر 1: کوئی تشویش نہیں. اس میں ایسا. ٹھیک ہے، تو ایک بات میں سمجھنے کی ہے ایک سرنی کے ساتھ کہ، آپ یہ بھی ایک کے طور پر اس کا علاج کر سکتے ہیں پوائنٹر arrays کے صرف کر رہے ہیں کیونکہ میموری کی مسلسل سپاٹس. تو کیا تم اسے اسی طرح کا علاج کر سکتے. تم نے انہیں توڑ کر سکتے ہیں اشارہ کے ساتھ، بھی. تو بجائے اس کے اس میں، کر کیس، مطابق چیز ہوگی سرنی 0 1 برابر. لیکن اسی طرح میں کہ ایک تار مقرر کیا جاتا ہے جہاں کے آغاز کی طرف اس کے پہلے کردار ہے، ایک سرنی کی طرف سے مقرر کیا جاتا ہے جہاں اس کے پہلے عنصر ہے. کیونکہ ہم جانتے ہیں، ہم ہیں ضمانت دی، کہ ان مسلسل ہونے جا رہے ہیں میموری کے بلاکس. کہ ہمیں ایسا کرنے کی اجازت دیتا ہے کیا ہے. ہم وہ مسلسل ہو میموری کے بلاکس. تو اس صورت میں، محولہ لقب ضبطی کی طرف سے ہمیں بتاتا ہے کہ صرف صف،، OK، کے آغاز میں جائیں یہاں ہے جو آپ کی صف،. لہذا اگر آپ کو ایک کے لئے اس کے برابر مقرر کر سکتے ہیں. اور اس معاملے میں، جو کچھ بھی آپ کی صف آپ کو ایک کی طرف سے اس کو اپ ڈیٹ کریں جب قسم،، ہے کہ صرف اپ ڈیٹ کرنے کی طرح ہے یہ اگلے انڈیکس. آپ کر سکتے ہیں کہ آپ کی وجہ سے آپ کی صف میں کیا ہے جانتے ہیں. تو یہ کتنا جانتا ہے آپ پوائنٹر کی طرف سے اپ ڈیٹ کریں، یہ ایسا کرنے کے لئے اپ ڈیٹ کرنے کا کیا پتہ آپ کو اگلے عہدے پر ہیں. تو یہ صرف ایک مختلف طریقہ ہے کے صف 0 1 برابر کے لکھنے، صف 1 2، سرنی برابر بریکٹ 2 3 برابر ہے. یہ اس کے بارے میں سوچنے کے لئے صرف ایک راستہ ہے. وہ مسلسل ہیں کیونکہ یاد میں بلاکس، آپ کو یا تو ان سے رجوع کر سکتے ہیں سرنی notation-- طرف جس میں ذاتی طور پر easier-- جائے لیکن شاید آپ کو اس کے لئے جوڑتوڑ کرنے کے لئے ضرورت سختی میموری پتوں کی طرف سے. اور یہ آپ ایسا کریں گے اور طریقہ ہے. ایک طرح کی قسم کی زیادہ آپ کر سکتے ٹھنڈی چیز تم شاید نہیں کچھ بمقابلہ اصل میں لاگو کرنے کے لئے کی جا رہی. میں نے 61 میں اس کا استعمال. آپ لوگ شاید ضرورت نہیں ہے بہت زیادہ اس کے بارے میں فکر کرنے کی. لیکن اگر آپ دلچسپی رکھتے ہیں تو، 61 اگلے سال لے. ہم گھر مسلسل لڑکوں میں ہیں. میں جانتا ہوں، یہ طویل ہے. متحرک میموری Allocation-- تو ہم نے اس سے ایک جانتے ہیں چیزوں میں سے ہم دوران بات کرتے وقت ایک ساتھ مل کر ہماری پہلی سیکشن، ہم قیدیوں کے تبادلے کی طرف دیکھا تقریب میں جہاں یہ تھا ہمارے مرکزی تقریب کی حدود سے باہر. اور ہم نے ان اقدار میں گزر رہے تھے کہ مؤثر طریقے سے نسخے تھے. اور سویپ ایک بار ختم ہو گیا عمل کر، یہ صرف ایک اسٹیک چھوڑا. یاد رکھیں، ہم نے ایک سویپ کے لئے فریم کتابیں رکھی. اسے چھوڑ دیتا ہے اور ان لوگوں کو اقدار اس کے ساتھ چھوڑ. اور وہ چلے گئے تھے. ہم کچھ نہیں کر سکا ان کے ساتھ ہم نے اور مایوس تھے ہم اپنی اقدار کا تبادلہ نہیں کر سکتے کیونکہ. لیکن میں، آپ نے ذکر سی کے ساتھ، کے طور پر میموری سے زیادہ طاقت کا ایک بہت ہے. تو تم نے کیا کر سکتے ہیں کہ آپ کر سکتے ہیں ہے یہاں ڈھیر پر چیزوں کو مختص کہ جب تک وہاں رہیں گے آپ کو دوسری صورت میں انہیں بتا. وہ اچھے بچوں کی طرح ہو. وہ وہاں رہنا. وہ چھوڑ کر مت جاؤ. تم ہو جب تک وہ وہاں رہونگا طرح، اوکے، تم دور جا سکتے ہیں. اسٹیک چیزوں جبکہ، who-- وہ شرارتی بچوں کی طرح ہو. آپ چاہتے ہیں جب وہ صرف دور چلانے گے وہاں ہونا اور پھر وہ چلے گئے. آپ انہیں واپس حاصل نہیں کر سکتے. تو ہم کرنے جا رہے ہیں is-- ڈھیر ، malloc اور آزاد کے بارے میں بات، جس مجھے یقین ہے کہ آپ لوگ ہوں درس میں کے بارے میں سنا. اور یہ کہ بنیادی طور پر ایک طریقہ ہے بہت مسلسل ڈیٹا ہے کرنا. تو اگر آپ کا ڈیٹا رکھ سکتے ہیں کے ارد گرد جب تک آپ چاہتے ہیں کے طور. MHM. سامعین: آپ کو ڈھیر وضاحت اور ڈھیر لگانا کر سکتے ہیں؟ وہ چیزیں ڈال کرنے کے لئے مقامات کی طرح ہیں؟ اسپیکر 1: تو وہ ہو بنیادی طور پر وہ کر رہے just-- ہم صرف میموری کا حوالہ دیتے ہیں جس طرح. تو ڈھیر صرف جہاں مقامات ہے میموری، متحرک طور پر مختص کیا جاتا ہے اسٹیک مراد جبکہ فریم ڈھیر لگانا کرنے کے لئے زیادہ کے لئے زیادہ مرکزی ہیں کہ اصل میں چل رہے ہیں کہ کام کرتا ہے. تم سچ میں کنٹرول نہیں ہے. بڑا فرق، آپ کو کنٹرول نہیں ہے ڈھیر سے زیادہ آپ کے لئے چاہتے ہیں. آپ اسٹیک پر کم کنٹرول ہے. اسٹیک پر انحصار کرتا ہے افعال چل رہے ہیں، اور حکم ہے جس میں وہ کر رہے ہیں چلانے کے، اور چیزوں کو کس طرح سے واپس آ رہے ہیں. ڈھیر کے ساتھ جبکہ، جیسا کہ ہم، آپ کہہ سکتے ہیں، دیکھ لیں گے ٹھیک ہے، میں اس قیمت کو ہونا چاہتے ہیں کے ارد گرد جب تک میں دوسری صورت میں آپ کو بتا. تم اس سے چھٹکارا حاصل کرنے کی اجازت نہیں. آپ اس کے جگہ لے لے کرنے کی اجازت نہیں کر رہے ہیں. آپ کے ارد گرد رکھنے کے لئے جا رہے ہیں جب تک میں تم سے کہتا ہوں کے طور پر کے لئے. تم، ڈھیر میں مالک ہونا کرنے کے لئے حاصل اگر آپ شاید stack-- جبکہ کی طرح اپنے راستے finagle تم مالک ہو سکتا ہے. لیکن کافی نہیں. اور یہ واقعی صرف میموری ہے. یہ صرف مختلف طریقوں ہے کی یاد کا حوالہ دیتے ہوئے. ٹھنڈا. کرنے، کہ کس طرح اس کے ساتھ تو آپ کی میموری کو کنٹرول. یہ malloc، کے ساتھ ہے جس میں آپ کو استعمال کرنے کے لئے حاصل کرنے جا رہے ہیں. تو یہ صرف مختصر ہے میموری مختص کرنے کے لئے. یہ ہے کہ یہ سب ہے. دیگر ٹھنڈی کا ایک گروپ نہیں ہے آخر میں ALLOC ہے کہ کام کرتا ہے، اور وہ مختلف چیزوں کے لئے کھڑے ہیں. آپ کی سٹوریج کی ضرورت ہے جب تو ہے کہ ضرورت ہے تاکہ آپ کے موجودہ تقریب outlast کا جب آپ کی موجودہ ہے کہ تقریب، دور چلتا اگر آپ اب بھی اعداد و شمار ہے کہ آپ کو اس سے مل گیا، آپ malloc استعمال کرنا چاہتے ہیں. کہ ڈھیر پر اس کی ابتدا کروں گا. اور جیسے میں نے کہا اور رکھنے آپ اس کو جاری رکھیں گے، کہہ آپ کو دوسری صورت یہ بتانے تک، جو یہاں سے اہم بات ہے. تو ایک بات محسوس کریں، اور کرنے کے لئے کہ، عام طور پر بہت ضروری ہے اس کو sizeof یہ ہے کہ سپر استعمال کرنا مفید ہے قسم پر منحصر ہے کیونکہ مشین کی آپ چلا رہے ہیں، یہ مقدار مختلف ہو سکتے ہیں یہ لیتا ہے کہ میموری کی. تو آپ ہمیشہ اتنے کا سائز استعمال کرنا چاہتے ہیں آپ انحصار مشین نہیں ہو کہ، تا کہ آپ کے کوڈ لونگا کسی بھی مشین پر چلایا. اور یہ کہ صرف ایک حصہ ہے کی اچھی کوڈ لکھنے. یہ ایک مشین پر کام کرتا ہے تو، نہیں بلکہ دوسروں کے کسی بھی، آپ کے پروگرام کس طرح مفید تھا؟ لہذا آپ کو ہمیشہ کے لئے چاہتے ہیں اس بات کو یقینی بنانے کے لئے اور sizeof استعمال. سامعین: تو جیسے یہ ہے کہ 10 انچ [اشراوی] کا سائز؟ اسپیکر 1: یہ 10 ints کی سائز ہے. ہاں. لہذا ints کی سائز واپس آ جائیں گے ایک INT کتنا وقت لگتا ہے. یا چار کا سائز، کہ کس طرح زیادہ ایک چار کے لئے لگتا ہے. اور پھر کتنے بلاکس اس میں سے تم کیا چاہتے ہو؟ تو اس صورت میں، ہم کچھ کرنا چاہتے ہیں کہ ہم نے 10 ints کی محفوظ کر سکتے ہیں. اور اس سے قطع نظر کام کریں گے مشین، میں سے جو ٹھنڈا ہے. پس کتنے بائٹس لونگا کہ اصل میں آپ کو دے؟ فوری ریاضی. سامعین: 40. اسپیکر 1: 40. بالکل ٹھیک. تو ایک اور بڑی بات. پوائنٹر یا malloc نل واپس آ سکتے ہیں. تو ایک بار پھر، ہمیشہ کے لئے چیک یہ شہوت انگیز null واپس آئے تو دیکھیں آپ کوشش کریں اور اس کے ساتھ کچھ بھی کر سے پہلے. آپ کوشش کریں اور dereference ہے تو اب اس پوائنٹر، یہ صرف segfault جا رہا ہے چلا گیا اور آپ کی کوشش کی ہے کیونکہ آپ کو نہیں کرنا چاہئے جب شہوت انگیز null چھو کرنے. تو ہمیشہ اتارنا null کے لئے چیک. ایک بار پھر، سب آپ کیا کر سکتے ہیں. یہ نل واپس ہو سکتا. آپ کو یا تو ہو تو یہ نل واپس آ جائیں گے جگہ سے باہر، یا جو بھی وجہ کے لئے یہ کچھ میموری مسئلے سے ٹکرا گئے. یہ کبھی کبھی صرف شہوت انگیز null واپس. تو کیا تم صرف اس کے لئے چیک کرنے کے لئے ہے. کہ تمام اس سلائڈ کہہ رہا ہے. اور پھر ہم نے کیا یہاں آزاد کرنا ایک بلاہٹ ہے. اسی طرح اس میں اتنا آپ اگر آپ کو ایک فائل کو بند کرنا ضروری ہے ایک فائل کو کھولنے، اگر آپ malloc میموری، آپ آپ اس میموری آزاد کرنا ہوگا. اور تم لوگوں کو ملے گا واقعی ٹھنڈی چیزیں کرنے کے لئے. اور آپ کے لئے چلا سکتے ہیں ایک پروگرام موجود ہے اگر آپ کبھی بھی میموری لیک کر رہے ہیں دیکھنے کے. لیکن اگر آپ کو میموری لیک نہیں کرنا چاہتا. یہ بہت برا ہے. بس پنگا چیزیں. یہ صرف پروگرامنگ کی طرح ایسا کرنے کے لئے برا ہے ڈیزائن کی کارکردگی کے لئے عقل مند. لیکن یہ صرف ایک قسم بھی ہے آپ کے کمپیوٹر کے لئے کی بری. تو صرف مفت چیزیں آپ انہیں میں malloc جب. تم لوگ یہاں symmetries دیکھیں. سپر آسان. صرف مفت اور اس کے بعد جو کچھ بھی آپ پوائنٹر، جو بھی نام کے آپ پوائنٹر ہے، اور یہ یہ آپ کے لئے آزاد کرنے کا خیال رکھیں گے. ٹھنڈا. پھر ہم اس کے پاس. تو ہم صرف کرنے کے لئے جا رہے ہیں اس پروگرام کے ذریعے چلنا. اور پھر آپ لوگ کیا کر رہے ہیں. لہذا [اشراوی] صرف مرکزی. تو ہم نے کچھ int * پوائنٹر ہے. تو ہم نے ایک پوائنٹر ہے کہ ints کے منعقد کرنے جا رہا ہے. اور کتنے ints کے منعقد کرنے جا رہا ہے؟ صرف ایک. ایک int کے سائز. ہم تو دیکھنے کے لئے چیک کریں پوائنٹر اس کی وجہ سے خالی ہے ہم کچھ بھی نہیں کہنا چاہتا ہوں، یہ ہے. یہ بری بات ہے. تو ہم میں سے باہر کچھ خرابی کو پرنٹ میموری، اکثر 1، واپس تم لوگوں کے طور پر استعمال کیا جاتا ہے. اور پھر ہم، یہاں ہے ہمارے پوائنٹر dereference. تو ہے کہ ہم ذخیرہ کرنے کے لئے جا رہے ہیں کا مطلب ہے کہ ہمیں دیا مقام پر کچھ اور. کہ int * پوائنٹر، یا malloc، لوٹتا یہ اس طرف رکھ دیا ہے جہاں کا پتہ آپ کے لئے میموری. تو یہ بنیادی طور پر ہے کیا آپ واقعی اگر like-- دے کا ایک گروپ کے بارے میں سوچنا ایک محلے میں گھروں آپ کو ڈال چاہتا ہوں کہ آپ کے فرنیچر میں، کی malloc OK کی طرح، آپ کو ملتا ہے تین گھر جانا. اور یہ آپ کو دیتا ہے گھر تین کا پتہ. تو کیا یہ ٹھیک ہے اب، اس پوائنٹر ذخیرہ ایک پتہ، آپ کے گھر کا پتہ ذخیرہ. * PTR اسباب، اوکے، میں اپنے گھر میں ہوں. ٹھنڈا. میں نے کچھ عددی حاصل کرنے کی ضرورت ہے. تو اگر آپ کو کسی کے لئے پوچھ رہے ہیں اب آپ کو فرنیچر کو دینے کے لئے. تو تم نے کچھ int حاصل. اور یہ آپ پوائنٹر میں رکھتا یہ کہاں کی طرف اشارہ ہے. اور پھر یہ صرف پرنٹس باہر، آپ کو جہاں بھی داخل ہوا. اور ایک بار پھر، حوالہ کے. تو یہ آپ کو اس کے لئے گئے تھے کی طرح ہے خطاب اور تم وہاں کیا تھا دیکھا. ٹھنڈا؟ اور پھر کورس ہم اپنے پوائنٹر آزاد. آپ پوائنٹر کو آزاد کرنے کے لئے مت بھولنا. شہوت انگیز null کے لئے چیک کرنے کے بھولنا نہیں. آپ پوائنٹر کو آزاد کرنے کے لئے مت بھولنا. تم تم سے یاد دو چیزیں ہیں یہ، یا آپ کو یاد رکھنا چاہئے کہ. جی ہاں. سامعین: [اشراوی] چیزیں اس طرح، چار کے *. ہم ان لوگوں کو کس طرح مفت کے کبھی نہیں؟ اسپیکر 1: ہم؟ سامعین: ڈور کی طرح ان لوگوں کے ہیں؟ آپ ڈور ہیں صرف چار * کی طرح، ٹھیک ہے؟ تو کیوں ہم ڈور کو آزاد کیوں نہیں کرتے؟ اسپیکر 1: تم صرف کرنا مفت آپ mallocing رہے ہیں تو. سامعین: اوہ، تم mallocing رہے ہیں تو. اسپیکر 1: تو malloc اور مفت میں دو چیزیں ہیں آپ کو ہمیشہ ایک دوسرے کے ساتھ ہونا چاہئے کہ. F کھلا، F بند، دو چیزیں آپ کو ایک ساتھ ہونا چاہئے. ان دونوں صورتوں میں، شہوت انگیز null کے لئے چیک. جی ہاں. سامعین: تو مفت صرف ہے کچھ اور کی اجازت دی بعد وہاں ذخیرہ کیا جائے اس پروگرام کے اس کا استعمال کیا گیا ہے؟ اسپیکر 1: یہ صرف کہہ رہا ہے، ٹھیک ہے، میں اس کے ساتھ کیا کر رہا ہوں. تم اس کے ارد گرد رکھنے کے لئے کی ضرورت نہیں ہے. ورنہ آپ کا کمپیوٹر کرے گا صرف کرنے کی کوشش کی طرح اور اسے وہاں رکھو. اور پھر آپ کو یہ چلتا can't-- بعد میں میموری مسائل میں. تم نے ہمیشہ اس کی وجہ سے آزاد کرنا چاہتے ہیں یہ ٹھیک ہے، میں ہوں، آپ کے کمپیوٹر کو بتاتا ہے میموری کے اس جگہ کے ساتھ کیا کیا. تم نے اسے واپس ہو سکتا ہے میرے لئے بعد میں استعمال کرنے کے لئے. ٹھنڈا؟ جی ہاں. سامعین: تو ہم٪ ڈی کا استعمال کیا صرف ایک ڈبل اس کی وجہ سے واپس آ رہا ہے، یا کیوں [اشراوی] is--. سامعین: آپ٪ میں استعمال کرسکتا ہوں؟ اسپیکر 1: آپ نے٪ میں استعمال کر سکتے ہیں. آخری لمحات میں کوئی سوال ہے؟ آگے بڑھو. سامعین میں صرف ایک فوری سوال ہے. لہذا PTR متغیر، that's-- کی طرح، کہ int * PTR = malloc کے ساتھ، کہ صرف یہ کہہ رہے میموری میں ایک جگہ کی طرف اشارہ اسپیکر 1: آپ کو [اشراوی] چاہتے ہیں؟ سامعین: --that ہے سائز of-- کوئی، یہ ٹھیک ہے. لیکن یہ صرف ایک جگہ کی طرف اشارہ ہے صرف چار بائٹس کی طرح ہے کہ میموری. اسپیکر 1: ٹھیک ہے. int کے کہتا ہے کے سائز تو میں malloc، ٹھیک ہے، میں بھاگ جانے کے لئے جا رہا ہوں، آپ کے لئے میموری کا چار بائٹس جائے. یہ چار پائے کہ جب میموری کی شراکت، یہ آپ ایڈریس واپس دیتا ہے یہ شروع ہوتا ہے کہاں، اور یہ کہ محفوظ کیا جاتا ہے کیا ہے پوائنٹر، یا PTR میں. گڈ. تم لوگوں کو سب سے زیادہ کے مقابلے میں کم الجھن نظر میں پوائنٹر کے بارے میں بات کرتے وقت لوگ، تاکہ میں ابھی بہت اچھا محسوس کر رہا ہوں. ٹھیک ہے. ہمیشہ کی طرح، آپ لوگ سب ہونا چاہئے اب تک آپ pset2 گریڈ ہو گیا. میں جانتا ہوں کہ کچھ پر wonky ہو چکے ہیں اس کا کہنا ہے جہاں چیزیں، درست نہیں فارمولے یا کچھ اور. تم میں سے، کہ تمام ہو رہی ہے آپ گریڈ میری طرف درست ہیں. تو میں آپ کو بھیج سکتے ہیں آپ کے گریڈ کے پردے. بس مجھے اس کے ساتھ ساتھ آپ کو ہو تو بتائیں کسی بھی گریڈ یا کچھ لاپتہ کوئی مطلب نہیں لگ رہا ہے. میرے پاس آو. میں نے آپ کی سپر فخر رہا ہوں لوگ پہلے سے ہی ہے، تو اسے جاری رکھیں. اور آپ کو ہفتے کے ایک اچھا آرام. مجھے کچھ نظر آئے گا مجھے یقین ہے دفتری اوقات میں تم میں.