1 00:00:00,000 --> 00:00:06,030 >> [موسیقی بجانے] 2 00:00:06,030 --> 00:00:08,390 >> ڈوگ لایڈ: نوٹیفائر، ہم یہاں ہیں. 3 00:00:08,390 --> 00:00:11,080 شاید یہ جا رہا ہے سب سے مشکل موضوع ہو 4 00:00:11,080 --> 00:00:12,840 ہم CS50 میں کے بارے میں بات. 5 00:00:12,840 --> 00:00:15,060 اور آپ کو پڑھنے ہے تو اشارہ کے بارے میں کچھ 6 00:00:15,060 --> 00:00:19,080 آپ کو تھوڑا سا ہو سکتا ہے اس سے پہلے کہ دھمکی اس ویڈیو میں جانے. 7 00:00:19,080 --> 00:00:21,260 یہ اشارہ سچ ہے آپ کی صلاحیت کی اجازت دیتے ہیں 8 00:00:21,260 --> 00:00:23,740 شاید بگاڑ بہت بری طرح تم جب 9 00:00:23,740 --> 00:00:27,450 متغیر، اور اعداد و شمار کے ساتھ کام کرنے، اور آپ کے پروگرام کریش ہوا جس کے نتیجے میں. 10 00:00:27,450 --> 00:00:30,490 لیکن وہ اصل میں واقعی بہت مفید ہیں اور انہوں نے ہمیں ایک بہت اچھا طریقہ کی اجازت دیتے ہیں 11 00:00:30,490 --> 00:00:33,340 واپس ڈیٹا منتقل کرنے کی اور آگے افعال کے درمیان، 12 00:00:33,340 --> 00:00:35,490 کہ ہم دوسری صورت میں کرنے کے قابل نہیں ہیں. 13 00:00:35,490 --> 00:00:37,750 >> اور تو کیا ہم واقعی ٹرین ہے یہاں کرنا چاہتے ہیں 14 00:00:37,750 --> 00:00:41,060 آپ کو اچھی پوائنٹر نظم و ضبط ہے، تاکہ آپ کو مؤثر طریقے اشارہ استعمال کر سکتے ہیں 15 00:00:41,060 --> 00:00:43,850 آپ کے پروگراموں کہ بہت بہتر بنانے کے لئے. 16 00:00:43,850 --> 00:00:48,220 جیسا میں نے کہا اشارہ ہمیں ایک مختلف دے راستہ افعال کے درمیان ڈیٹا منتقل کرنے کی. 17 00:00:48,220 --> 00:00:50,270 اب آپ سے یاد تو پہلے ویڈیو، جب 18 00:00:50,270 --> 00:00:53,720 ہم کے بارے میں بات کر رہے تھے متغیر گنجائش، میں نے ذکر کیا 19 00:00:53,720 --> 00:01:00,610 کہ ہم کے درمیان منتقل ہے کہ تمام اعداد و شمار C میں افعال قیمت کی طرف سے منظور کیا جاتا ہے. 20 00:01:00,610 --> 00:01:03,070 اور میں اس کا استعمال کیا ہے نہیں کر سکتے ہیں اصطلاح میں وہاں کا مطلب، کیا 21 00:01:03,070 --> 00:01:07,170 ہم اعداد و شمار کی کاپیاں گزر رہے ہیں کہ. 22 00:01:07,170 --> 00:01:12,252 ہم نے ایک تقریب کے لئے ایک متغیر گزرتے ہیں، ہم اصل میں متغیر گزر نہیں کر رہے ہیں 23 00:01:12,252 --> 00:01:13,210 تقریب میں، ٹھیک ہے؟ 24 00:01:13,210 --> 00:01:17,670 ہم ایک کاپی کو منظور کر رہے ہیں تقریب میں کہ اعداد و شمار. 25 00:01:17,670 --> 00:01:20,760 تقریب کیا یہ کرتا ہے اور یہ کچھ قیمت کا حساب لگاتا، 26 00:01:20,760 --> 00:01:23,180 اور شاید ہم اس قدر استعمال یہ واپس دیتا ہے جب. 27 00:01:23,180 --> 00:01:26,700 >> ایک رعایت کے لئے وہاں تھا قیمت کی طرف سے گزر کے اس اصول، 28 00:01:26,700 --> 00:01:31,210 اور ہمیں کیا ہے کہ واپس آ جائیں گے اس ویڈیو میں بعد میں ایک چھوٹی سی ہے. 29 00:01:31,210 --> 00:01:34,880 ہم اس کی بجائے اشارہ کا استعمال کرتے ہیں متغیر کا استعمال کرتے ہوئے، 30 00:01:34,880 --> 00:01:38,180 یا متغیر کا استعمال کرتے ہوئے کی بجائے خود کو یا متغیر کی کاپیاں، 31 00:01:38,180 --> 00:01:43,790 اب ہم کے ارد گرد متغیر منتقل کر سکتی ہیں ایک مختلف انداز میں کام کرتا ہے کے درمیان. 32 00:01:43,790 --> 00:01:46,550 یہ ہے اگر ہم کا مطلب ہے کہ ایک تقریب میں تبدیلی، 33 00:01:46,550 --> 00:01:49,827 کہ تبدیلی دراصل لے جائے گا ایک مختلف تقریب میں اثر. 34 00:01:49,827 --> 00:01:52,160 ایک بار پھر، یہ کچھ ہے کہ ہم نے پہلے ایسا نہیں کر سکا 35 00:01:52,160 --> 00:01:56,979 اور کیا تم نے کبھی تبادلہ کرنے کی کوشش کی ہے تو ایک تقریب میں دو متغیر کی قدر، 36 00:01:56,979 --> 00:01:59,270 آپ کو اس مسئلہ محسوس کیا ہے اپ creeping کی طرح، ٹھیک ہے؟ 37 00:01:59,270 --> 00:02:04,340 >> ہم X اور Y، اور ہم کا تبادلہ کرنا چاہتے ہیں تو تبدیل کردہ لسٹ نامی ایک تقریب میں ان کے پاس، 38 00:02:04,340 --> 00:02:08,680 تقریب کے اندر تبادلہ متغیر تبادلہ اقدار کرتے. 39 00:02:08,680 --> 00:02:12,600 ایک دو ہو جاتا ہے، دو ہو جاتا ہے ایک، لیکن ہم اصل میں ایسا نہیں کرتے 40 00:02:12,600 --> 00:02:16,890 اصل میں کچھ بھی تبدیل تقریب، کالر میں. 41 00:02:16,890 --> 00:02:19,550 کیونکہ ہم نہیں کر سکتے، ہم صرف ان کی نقول کے ساتھ کام کر رہے ہیں. 42 00:02:19,550 --> 00:02:24,760 اگرچہ اشارہ کے ساتھ، ہم کر سکتے ہیں اصل میں ایک تقریب میں X اور Y کے پاس. 43 00:02:24,760 --> 00:02:26,960 اس تقریب کر سکتے ہیں ان کے ساتھ کچھ. 44 00:02:26,960 --> 00:02:29,250 اور ان متغیرات اقدار اصل میں تبدیل کر سکتے ہیں. 45 00:02:29,250 --> 00:02:33,710 تو اس میں کافی تبدیلی ہے ڈیٹا کے ساتھ کام کرنے کی ہماری صلاحیت. 46 00:02:33,710 --> 00:02:36,100 >> ہم میں ڈوبکی سے پہلے اشارہ، میں نے اس کے قابل ہے 47 00:02:36,100 --> 00:02:38,580 چند منٹ کے لئے لے جا یہاں واپس مبادیات پر جانے. 48 00:02:38,580 --> 00:02:41,000 اور کس طرح پر ایک نظر ہے کمپیوٹر میموری کام 49 00:02:41,000 --> 00:02:45,340 ان دونوں مضامین جا رہے ہیں کیونکہ واقعی بہت باہم مربوط ہونا. 50 00:02:45,340 --> 00:02:48,480 آپ شاید جانتے ہیں، آپ کے کمپیوٹر سسٹم پر 51 00:02:48,480 --> 00:02:51,310 آپ کو ایک کی ہارڈ ڈرائیو ہے یا شاید ایک ٹھوس ریاست ڈرائیو، 52 00:02:51,310 --> 00:02:54,430 فائل سٹوریج محل وقوع کے کسی قسم. 53 00:02:54,430 --> 00:02:57,950 اس میں کہیں عام طور پر ہے 250 گیگا بائٹس کے پڑوس 54 00:02:57,950 --> 00:02:59,810 اب terabytes کو شاید ایک جوڑے کے لئے. 55 00:02:59,810 --> 00:03:02,270 اور اس کا ہے جہاں تمام ہے کہ آپ فائلوں بالآخر، رہتے ہیں 56 00:03:02,270 --> 00:03:04,870 آپ کے کمپیوٹر بند ہے اس وقت بھی جب دور، آپ پر تبدیل کر سکتے ہیں 57 00:03:04,870 --> 00:03:09,190 اور آپ کو آپ کی فائلوں کو وہاں ہو جائے گا ایک بار پھر آپ کو آپ کے سسٹم کو ربوٹ جب. 58 00:03:09,190 --> 00:03:14,820 لیکن ایک ہارڈ ڈسک ڈرائیو کی طرح ڈسک ڈرائیوز،، ایک کوائف نامہ، یا ایک ٹھوس ریاست ڈرائیو، ایک SSD، 59 00:03:14,820 --> 00:03:16,050 صرف سٹوریج کی جگہ ہیں. 60 00:03:16,050 --> 00:03:20,400 >> ہم اصل میں کے ساتھ کچھ بھی نہیں کر سکتے ہیں ہارڈ ڈسک میں ہے کہ اعداد و شمار، 61 00:03:20,400 --> 00:03:22,080 یا ایک ٹھوس ریاست ڈرائیو میں. 62 00:03:22,080 --> 00:03:24,950 اصل میں تبدیل کرنے کے لئے اعداد و شمار یا اس کے ارد گرد منتقل، 63 00:03:24,950 --> 00:03:28,800 ہم پر منتقل کرنے کے لئے ہے رام، رینڈم رسائی میموری. 64 00:03:28,800 --> 00:03:31,170 اب رام، آپ کو ایک بہت کچھ کرنا پڑے آپ کے کمپیوٹر میں کم. 65 00:03:31,170 --> 00:03:34,185 تم میں کہیں ہو سکتا ہے 512 میگا بائٹ کے پڑوس 66 00:03:34,185 --> 00:03:38,850 اگر آپ ایک پرانے کمپیوٹر ہے، شاید کرنے کے لئے دو، چار، آٹھ، 16، 67 00:03:38,850 --> 00:03:41,820 ممکنہ طور پر بھی ایک چھوٹا سا مزید، RAM کے گیگا بائٹس. 68 00:03:41,820 --> 00:03:46,390 تو اتنا چھوٹا ہے، لیکن اس کے جہاں مستحکم اعداد و شمار کے تمام موجود. 69 00:03:46,390 --> 00:03:48,270 ہم چیزوں کو تبدیل کر سکتے ہیں جہاں ہے. 70 00:03:48,270 --> 00:03:53,350 لیکن ہم نے اپنے کمپیوٹر کو بند کر دیں، جب، RAM میں اعداد و شمار کے تمام تباہ کر دیا ہے. 71 00:03:53,350 --> 00:03:57,150 >> ہم ہارڈ ڈسک کی ضرورت ہے یہی وجہ ہے کہ اس سے زیادہ مستقل مقام کے لئے، 72 00:03:57,150 --> 00:03:59,720 یہ exists- تاکہ یہ کرے گا بہت برا ہو تو ہر بار ہم 73 00:03:59,720 --> 00:04:03,310 ، ہمارے کمپیوٹر بند کر دیا گیا ہر ہمارے نظام میں فائل مٹا تھا. 74 00:04:03,310 --> 00:04:05,600 تو ہم RAM کے اندر کام کرتے ہیں. 75 00:04:05,600 --> 00:04:09,210 اور ہر وقت کے بارے میں ہم بات کر رہے ہیں میموری، بہت زیادہ، CS50 میں، 76 00:04:09,210 --> 00:04:15,080 ہم RAM، نہ ہارڈ ڈسک کے بارے میں بات کر رہے ہیں. 77 00:04:15,080 --> 00:04:18,657 >> تو ہم یاد میں چیزوں کو منتقل جب، اس کی جگہ کی ایک مقررہ رقم لیتا ہے. 78 00:04:18,657 --> 00:04:20,740 اعداد و شمار اقسام میں سے سب اس ہم کے ساتھ کام کر رہا ہوں 79 00:04:20,740 --> 00:04:23,480 اپ مختلف لے RAM میں جگہ کی مقدار. 80 00:04:23,480 --> 00:04:27,600 تو ہر وقت آپ کو ایک عددی بنانے میموری کی متغیر، چار بائٹس 81 00:04:27,600 --> 00:04:30,750 تم اتنی RAM میں ایک طرف قائم کر رہے ہیں کہ عددی کے ساتھ کام کر سکتے ہیں. 82 00:04:30,750 --> 00:04:34,260 آپ عددی اعلان کر سکتے ہیں، اسے تبدیل، تفویض 83 00:04:34,260 --> 00:04:36,700 incremented کیا ایک قدر 10 ایک، اسی طرح اور اسی طرح کی طرف سے. 84 00:04:36,700 --> 00:04:39,440 میں ایسا کرنے کی ضرورت ہے کہ تمام رام، اور آپ کو چار بائٹس حاصل 85 00:04:39,440 --> 00:04:42,550 ہر ایک کے لئے ساتھ مل کر کام کرنے کے لئے آپ کو بنانے کے کہ عددی. 86 00:04:42,550 --> 00:04:45,410 >> ہر کردار آپ تخلیق ایک بائٹ ہے. 87 00:04:45,410 --> 00:04:48,160 اس جگہ ہے کہ کس طرح زیادہ ہے ایک کردار ذخیرہ کرنے کے لئے کی ضرورت ہے. 88 00:04:48,160 --> 00:04:51,310 ہر فلوٹ، ایک حقیقی تعداد، چار بائٹس ہو جاتا ہے 89 00:04:51,310 --> 00:04:53,390 یہ ایک ڈبل ہے جب تک صحت سے متعلق چل نقاط 90 00:04:53,390 --> 00:04:56,510 آپ کی اجازت دیتا ہے جس کی تعداد، زیادہ عین مطابق یا اس سے زیادہ ہندسے ہیں 91 00:04:56,510 --> 00:04:59,300 دشملو نقطہ کے بعد صحت سے متعلق کو کھونے کے بغیر، 92 00:04:59,300 --> 00:05:01,820 جس میموری کی آٹھ بائٹس اٹھا. 93 00:05:01,820 --> 00:05:06,730 لانگ چاہتا، بہت بڑا integers کے، بھی میموری کے آٹھ بائٹس اٹھا. 94 00:05:06,730 --> 00:05:09,000 کتنی میموری کی بائٹس ڈور اپ لیتے ہیں؟ 95 00:05:09,000 --> 00:05:12,990 ٹھیک ہے کہ سوال میں ایک پن ڈال دو اب کے لئے، لیکن ہم اسے واپس آ جائیں گے. 96 00:05:12,990 --> 00:05:17,350 >> تو واپس میموری کے اس خیال کے طور پر بائٹ سائز کے خلیات کی ایک بڑی سرنی. 97 00:05:17,350 --> 00:05:20,871 یہ واقعی یہ سب ہے، یہ ہے خلیات کی ایک بڑی سرنی، 98 00:05:20,871 --> 00:05:23,370 صرف کسی دوسرے صف کی طرح کہ آپ کے ساتھ واقف ہیں اور دیکھیں، 99 00:05:23,370 --> 00:05:26,430 ہر عنصر کے علاوہ ایک بائٹ وسیع ہے. 100 00:05:26,430 --> 00:05:30,030 اور صرف ایک صف کی طرح، ہر عنصر ایک ایڈریس ہے. 101 00:05:30,030 --> 00:05:32,120 ایک صف کے ہر عنصر ایک انڈیکس، اور ہم ہے 102 00:05:32,120 --> 00:05:36,302 نام نہاد کرنا ہے کہ انڈیکس استعمال کر سکتے ہیں صف پر رینڈم رسائی. 103 00:05:36,302 --> 00:05:38,510 ہم شروع کرنے کے لئے نہیں ہے صف کے آغاز، 104 00:05:38,510 --> 00:05:40,569 ہر کے ذریعے iterate ایک عنصر اس، 105 00:05:40,569 --> 00:05:41,860 ہم کے لئے تلاش کر رہے ہیں تلاش کرنے کے لئے. 106 00:05:41,860 --> 00:05:45,790 ہم صرف میں حاصل کرنا چاہتے ہیں، کا کہنا ہے کہ کر سکتے ہیں 15th کے عنصر یا عنصر کے 100th. 107 00:05:45,790 --> 00:05:49,930 اور آپ کو صرف اس تعداد میں منتقل کر سکتے ہیں اور آپ کے لئے تلاش کر رہے ہیں قیمت حاصل. 108 00:05:49,930 --> 00:05:54,460 >> اسی طرح ہر جگہ یاد میں ایک ایڈریس ہے. 109 00:05:54,460 --> 00:05:57,320 تو آپ میموری طاقت کچھ اس طرح نظر. 110 00:05:57,320 --> 00:06:01,420 یہاں کی ایک بہت چھوٹا سا حصہ ہے میموری، اس میموری کے 20 بائٹس ہے. 111 00:06:01,420 --> 00:06:04,060 پہلے 20 بائٹس کیونکہ میری نچلے حصے میں وہاں سے خطاب 112 00:06:04,060 --> 00:06:08,890 3، 2، 1، 0 ہے، اور تو 19 کرنے کے لئے تمام راستے پر. 113 00:06:08,890 --> 00:06:13,190 اور میں متغیر کا اعلان اور جب میں ان کے ساتھ کام کرنے کے لئے شروع، 114 00:06:13,190 --> 00:06:15,470 نظام قائم کرنے کے لئے کی جا رہی ہے میرے لئے ایک طرف کچھ جگہ 115 00:06:15,470 --> 00:06:17,595 یہ یاد میں کام کرنے کے لئے میرے متغیر کے ساتھ. 116 00:06:17,595 --> 00:06:21,610 تو میں نے چار C دارالحکومت برابر، کا کہنا ہے کہ ہو سکتا ہے ایچ اور کیا ہونے جا رہا ہے؟ 117 00:06:21,610 --> 00:06:23,880 ویسے نظام کی جا رہی ہے مجھے ایک بائٹ کے لئے مقرر. 118 00:06:23,880 --> 00:06:27,870 اس صورت میں یہ بائٹ نمبر کا انتخاب چار، چار بجے ایڈریس بائٹ، 119 00:06:27,870 --> 00:06:31,310 اور یہ ذخیرہ کرنے کے لئے جا رہا ہے میرے لئے وہاں میں خط دارالحکومت ایچ. 120 00:06:31,310 --> 00:06:34,350 میں تو INT رفتار کہتے ہیں حد یہ ہے، 65 کے برابر ہے 121 00:06:34,350 --> 00:06:36,806 ایک طرف چار قائم کرنے جا رہا میرے لئے میموری کی بائٹس. 122 00:06:36,806 --> 00:06:39,180 اور یہ ان کے علاج کے لئے جا رہا ہے ایک یونٹ کے طور پر چار بائٹس 123 00:06:39,180 --> 00:06:41,305 ہم کام کر رہے ہیں کی وجہ سے کے ساتھ یہاں ایک عدد صحیح ہے. 124 00:06:41,305 --> 00:06:44,350 اور یہ وہاں 65 ذخیرہ کرنے کے لئے جا رہا ہے. 125 00:06:44,350 --> 00:06:47,000 >> اب پہلے سے ہی میں اس قسم کی ہوں تم جھوٹ کا تھوڑا سا بتا، 126 00:06:47,000 --> 00:06:50,150 ٹھیک ہے، ہم جانتے ہیں کہ وجہ کمپیوٹر بائنری میں کام کرتے ہیں. 127 00:06:50,150 --> 00:06:53,100 وہ سمجھتے نہیں ضروری نہیں کہ ایک سرمایہ ایچ ہے 128 00:06:53,100 --> 00:06:57,110 یا 65 وہ صرف کیا ہے، بائنری، zeros اور ہیں کو سمجھنے. 129 00:06:57,110 --> 00:06:59,000 اور اس طرح اصل میں کیا ہم وہاں ذخیرہ کرنے کر رہے 130 00:06:59,000 --> 00:07:03,450 خط H اور نمبر 65، نہیں ہے بلکہ بائنری نمائندگی 131 00:07:03,450 --> 00:07:06,980 اس، جس نظر اس طرح کچھ. 132 00:07:06,980 --> 00:07:10,360 اور میں خاص طور پر عددی متغیر کے تناظر، 133 00:07:10,360 --> 00:07:13,559 یہ صرف اس میں تھوکنے نہیں جا رہا ہے یہ ایک چار کے طور پر اس کے علاج کے لئے نہیں جا رہا ہے 134 00:07:13,559 --> 00:07:15,350 بائٹ حصہ ضروری، یہ اصل میں جا رہا ہے 135 00:07:15,350 --> 00:07:19,570 چار ایک بائٹ مقدار کے طور پر اس کے علاج کے لئے، جو کچھ اس طرح نظر ہو سکتا ہے. 136 00:07:19,570 --> 00:07:22,424 اور یہ بھی نہیں ہے مکمل طور پر سچ تو، 137 00:07:22,424 --> 00:07:24,840 نامی کسی چیز کی وجہ سے ہم نہیں ہیں جو ایک endianness، 138 00:07:24,840 --> 00:07:26,965 ، اب میں حاصل کرنے جا رہا ہے لیکن آپ کے بارے میں جاننا چاہتے ہیں تو، 139 00:07:26,965 --> 00:07:29,030 آپ کو تھوڑا سا پر پڑھ سکتے ہیں اور بڑے endianness. 140 00:07:29,030 --> 00:07:31,640 لیکن اس دلیل کی خاطر، اس ویڈیو کی خاطر، 141 00:07:31,640 --> 00:07:34,860 صرف اس میں ہے، فرض حقیقت یہ ہے کہ، کس طرح تعداد 65 گے 142 00:07:34,860 --> 00:07:36,970 میں نمائندگی دی جائے ہر نظام پر میموری، 143 00:07:36,970 --> 00:07:38,850 یہ مکمل طور پر سچ نہیں ہے، اگرچہ. 144 00:07:38,850 --> 00:07:41,700 >> لیکن اصل میں صرف حاصل کرنے کی اجازت مکمل طور پر تمام ثنائی کے چھٹکارا، 145 00:07:41,700 --> 00:07:44,460 اور صرف ایچ کے طور پر کے بارے میں سوچنا اور 65، یہ ایک بہت آسان ہے 146 00:07:44,460 --> 00:07:47,900 کی طرح اس کے بارے میں سوچنے کے لئے ایک انسان کے طور پر ہے. 147 00:07:47,900 --> 00:07:51,420 ٹھیک ہے، یہ بھی لگتا ہے تو شاید ایک تھوڑا بے ترتیب کہ I've- اپنے نظام 148 00:07:51,420 --> 00:07:55,130 بائٹس 5، 6، 7 نے مجھے نہیں دی، اور 8 عددی ذخیرہ کرنے کے لئے. 149 00:07:55,130 --> 00:07:58,580 اس کے لئے ایک وجہ، بھی، نہیں ہے جس ہم ابھی میں حاصل، لیکن کافی نہیں ہوں گے 150 00:07:58,580 --> 00:08:00,496 اس کا کہنا ہے کہ کمپیوٹر یہاں کر رہا ہے 151 00:08:00,496 --> 00:08:02,810 شاید اس حصہ پر ایک اچھا اقدام ہے. 152 00:08:02,810 --> 00:08:06,020 مجھے ہے کہ میموری نہیں دے ضروری واپس واپس. 153 00:08:06,020 --> 00:08:10,490 اب یہ کیا جا رہا ہے اگرچہ میں ایک تار حاصل کرنا چاہتے ہیں تو، 154 00:08:10,490 --> 00:08:13,080 نام نامی، اور میں چاہتا ہوں وہاں میں Lloyd ڈال کرنے کے لئے. 155 00:08:13,080 --> 00:08:18,360 میں ایک فٹ ہونے کے لئے کی ضرورت کے لئے جا رہا ہوں کردار، اس کے ہر خط ہے 156 00:08:18,360 --> 00:08:21,330 ایک کی ضرورت کے لئے جا رہے کردار، میموری کا ایک بائٹ. 157 00:08:21,330 --> 00:08:26,230 میں اپنے صف میں لایڈ ڈال سکتا تو اس طرح میں نے صحیح، جانے کے لئے بہت اچھا ہوں؟ 158 00:08:26,230 --> 00:08:28,870 کیا لاپتہ ہے؟ 159 00:08:28,870 --> 00:08:31,840 >> ہر سٹرنگ ہم کام کرتے ہیں کہ یاد رکھیں سی الٹا سلیش صفر ساتھ ختم ہوتا ہے کے ساتھ، 160 00:08:31,840 --> 00:08:33,339 اور ہم یا تو، کہ یہاں ترک نہیں کر سکتے ہیں. 161 00:08:33,339 --> 00:08:36,090 ہم ایک طرف ایک بائٹ قائم کرنے کی ضرورت میموری کی تو ہم نے اس کے انعقاد کے لئے 162 00:08:36,090 --> 00:08:39,130 ہمارے سٹرنگ ختم ہو گیا ہے جب آپ کو معلوم. 163 00:08:39,130 --> 00:08:41,049 تو ایک بار پھر اس کا انتظام راستہ چیزیں 164 00:08:41,049 --> 00:08:42,799 میموری طاقت میں ظاہر ، ایک چھوٹا سا بے ترتیب ہو 165 00:08:42,799 --> 00:08:44,870 لیکن یہ اصل میں ہے کہ کس طرح سب سے زیادہ نظام تیار کیا گیا ہے. 166 00:08:44,870 --> 00:08:48,330 ملٹی پر ان کو لائن پر چار میں، وجوہات کی بناء پر ایک بار پھر 167 00:08:48,330 --> 00:08:50,080 ہم کرنے کی ضرورت نہیں ہے اب میں ملتا ہے. 168 00:08:50,080 --> 00:08:53,060 لیکن یہ، تاکہ یہ کہنا کافی کوڈ کا ان تین لائنوں کے بعد، 169 00:08:53,060 --> 00:08:54,810 یہ میموری کی طرح نظر ہو سکتا ہے ہے. 170 00:08:54,810 --> 00:08:58,930 میں میموری مقامات پر کی ضرورت ہو تو 4، 8، اور 12، میرے اعداد و شمار کے انعقاد کے لئے 171 00:08:58,930 --> 00:09:01,100 یہ میری میموری کی طرح نظر ہو سکتا ہے ہے. 172 00:09:01,100 --> 00:09:04,062 >> اور صرف خاص طور پر ہو یہاں، جب pedantic 173 00:09:04,062 --> 00:09:06,020 ہم میموری کے بارے میں بات کر رہے ہیں پتے عام طور پر ہم 174 00:09:06,020 --> 00:09:08,390 تو شش اعشاری علامتوں کا استعمال کرتے ہوئے. 175 00:09:08,390 --> 00:09:12,030 تو کیوں نہ ہم ان میں سے سب کو تبدیل نہیں شش اعشاری سنکیتن کو دشملو سے 176 00:09:12,030 --> 00:09:15,010 صرف یہ ہے کہ عام طور پر ہے کیونکہ ہم کس طرح میموری کا حوالہ دیتے ہیں. 177 00:09:15,010 --> 00:09:17,880 تو بجائے ذریعے 0 ہونے کی وجہ سے 19، کیا ہمارے پاس صفر ہے 178 00:09:17,880 --> 00:09:20,340 صفر X1 تین ذریعے X صفر. 179 00:09:20,340 --> 00:09:23,790 وہ میموری کی 20 بائٹس ہیں کہ ہم یا ہم اس تصویر میں دیکھ رہے ہیں ہے 180 00:09:23,790 --> 00:09:25,540 یہیں پر. 181 00:09:25,540 --> 00:09:29,310 >> تو اس نے کہا کیا جا رہا ہے تمام، چلو ایک سیکنڈ کے لئے میموری کی طرف سے دور قدم 182 00:09:29,310 --> 00:09:30,490 اور واپس اشارہ. 183 00:09:30,490 --> 00:09:32,420 یہاں سب سے زیادہ اہم ہے بات یاد رکھو 184 00:09:32,420 --> 00:09:34,070 ہم اشارہ کے ساتھ کام شروع کے طور پر. 185 00:09:34,070 --> 00:09:36,314 ایک پوائنٹر نہیں ہے ایک ایڈریس کے مقابلے میں زیادہ. 186 00:09:36,314 --> 00:09:38,230 میں ایک بار پھر اس کی وجہ سے کہیں گے یہ ضروری ہے کہ 187 00:09:38,230 --> 00:09:42,730 ایک پوائنٹر نہیں ہے ایک ایڈریس کے مقابلے میں زیادہ. 188 00:09:42,730 --> 00:09:47,760 نوٹیفائر مقامات پر پتے ہیں میموری میں متغیر کہاں رہتے ہیں. 189 00:09:47,760 --> 00:09:52,590 یہ امید ہے کہ ایک ہو جاتا ہے کہ سب کچھ جاننے والا آسان تھوڑا سا ان کے ساتھ کام کرنے. 190 00:09:52,590 --> 00:09:54,550 مجھے پسند ایک چیز ایسا کرنے کے لئے ترتیب ہے کے لئے ہے 191 00:09:54,550 --> 00:09:58,510 کے ضعف کیا نمائندگی ڈایا گرام کوڈ کے مختلف لائنوں کے ساتھ ہو. 192 00:09:58,510 --> 00:10:00,660 اور ہم یہ ایک جوڑے کرتے ہیں اشارہ میں کئی بار، 193 00:10:00,660 --> 00:10:03,354 اور ہم متحرک بارے میں بات کرتے میموری مختص کرنے کے ساتھ ساتھ. 194 00:10:03,354 --> 00:10:06,020 میں یہ اشکال ہے کہ لگتا ہے کیونکہ خاص طور پر مفید ہو سکتا ہے. 195 00:10:06,020 --> 00:10:09,540 >> میں مثال کے طور پر کا کہنا ہے کہ اگر ایسا ہے تو، INT K اپنے کوڈ میں، کیا ہو رہا ہے؟ 196 00:10:09,540 --> 00:10:12,524 ویسے بنیادی طور پر کیا ہے ہو رہا ہے میں، میرے لئے مقرر میموری ہو رہی ہے 197 00:10:12,524 --> 00:10:14,690 لیکن میں بھی پسند نہیں کرتے میں، اس طرح اس کے بارے میں سوچنا 198 00:10:14,690 --> 00:10:16,300 ایک باکس کی طرح اس کے بارے میں سوچنا اچھا لگتا ہے. 199 00:10:16,300 --> 00:10:20,090 میں ایک باکس ہے اور یہ رنگ سبز میں کیونکہ 200 00:10:20,090 --> 00:10:21,750 سبز خانوں میں integers کے ڈال کر سکتے ہیں. 201 00:10:21,750 --> 00:10:23,666 یہ ایک کردار میں تھا تو ایک نیلے باکس ہو سکتا ہے. 202 00:10:23,666 --> 00:10:27,290 میں پیدا کر رہا ہوں لیکن اگر میں نے ہمیشہ کا کہنا ہے کہ integers کے پکڑ کر سکتے ہیں کہ ایک باکس 203 00:10:27,290 --> 00:10:28,950 اس باکس سبز رنگ ہے. 204 00:10:28,950 --> 00:10:33,020 اور میں نے ایک مستقل مارکر لے اور میں اس کی طرف سے کشمیر لکھنا. 205 00:10:33,020 --> 00:10:37,590 تو میں نے، K نامی ایک باکس ہے جس میں میں integers کے ڈال کر سکتے ہیں. 206 00:10:37,590 --> 00:10:41,070 میں int K کہنا ہے کہ جب تو، ہے کیا میرے سر میں ہوتا ہے. 207 00:10:41,070 --> 00:10:43,140 میں K پانچ برابر کہتے ہیں، میں کیا کر رہا ہوں؟ 208 00:10:43,140 --> 00:10:45,110 ویسے، میں نے پانچ ڈال رہا ہوں باکس میں، صحیح. 209 00:10:45,110 --> 00:10:48,670 یہ تو بہت سیدھا ہے میں int K، K نامی ایک باکس تخلیق ہے. 210 00:10:48,670 --> 00:10:52,040 تو میں، K 5 برابر ہے کا کہنا ہے کہ باکس میں پانچ ڈال. 211 00:10:52,040 --> 00:10:53,865 امید ہے کہ ایک چھلانگ کی بہت زیادہ نہیں ہے. 212 00:10:53,865 --> 00:10:55,990 چیزوں کو کہاں جانا ہے یہاں اگرچہ دلچسپ تھوڑا. 213 00:10:55,990 --> 00:11:02,590 میں int * پی کا کہنا ہے کہ، اچھی طرح سے میں نہیں ہے یہاں تک کہ اگر یہ ضروری نہیں کہ کا مطلب کیا ہے، 214 00:11:02,590 --> 00:11:06,150 یہ واضح طور پر کچھ ہے ایک عددی کے ساتھ کرنا. 215 00:11:06,150 --> 00:11:08,211 تو مجھے رنگ کرنے جا رہا ہوں سبز ISH اس باکس، 216 00:11:08,211 --> 00:11:10,210 میں یہ کچھ ہے جانتے ہیں ایک عددی کے ساتھ کیا کرنا، 217 00:11:10,210 --> 00:11:13,400 لیکن یہ ایک عددی خود نہیں ہے، یہ ایک int ستارہ ہے کیونکہ. 218 00:11:13,400 --> 00:11:15,390 کچھ تھوڑا سا نہیں ہے اس کے بارے میں مختلف. 219 00:11:15,390 --> 00:11:17,620 تو ایک عددی کے ملوث، لیکن دوسری صورت میں یہ ہے 220 00:11:17,620 --> 00:11:19,830 سے بہت مختلف نہیں کیا ہم کے بارے میں بات کر رہے تھے. 221 00:11:19,830 --> 00:11:24,240 یہ ایک باکس ہے، اس، ایک لیبل ہے اسے ایک لیبل PK پہنا ہے، 222 00:11:24,240 --> 00:11:27,280 اور اس کے انعقاد کی صلاحیت رکھتی ہے لوگ ہیں جو INT ستاروں،. 223 00:11:27,280 --> 00:11:29,894 وہ کیا کرنا کچھ ہے integers کے ساتھ، واضح طور پر. 224 00:11:29,894 --> 00:11:31,060 یہاں آخری سطر اگرچہ ہے. 225 00:11:31,060 --> 00:11:37,650 اگر میں کہوں کہ PK = & K، واہ، کیا صرف صحیح، کیا ہوا؟ 226 00:11:37,650 --> 00:11:41,820 تو یہ بے ترتیب تعداد، بظاہر بے ترتیب تعداد، وہاں باکس میں پھینک دیا جاتا ہے. 227 00:11:41,820 --> 00:11:44,930 ہے کہ تمام، PK ہے K کا پتہ ہو جاتا ہے. 228 00:11:44,930 --> 00:11:52,867 K یاد میں رہتا ہے جہاں تو میں چپکی ہوئی ہوں، اس ایڈریس، اس بائٹس کا پتہ. 229 00:11:52,867 --> 00:11:55,200 میں کر رہا ہوں سب میں کہہ رہا ہوں ہے اس قدر میں جا رہا ہوں کیا ہے 230 00:11:55,200 --> 00:11:59,430 میرا باکس بلایا پی کے اندر ڈال کرنے کے لئے. 231 00:11:59,430 --> 00:12:02,080 ان باتوں کی وجہ سے اشارہ، اور لگ کیونکہ 232 00:12:02,080 --> 00:12:04,955 صفر X طرح ایک تار میں آٹھ صفر C سات چار سے آٹھ 233 00:12:04,955 --> 00:12:07,790 دو صفر شاید ہے بہت بامعنی نہیں. 234 00:12:07,790 --> 00:12:12,390 ہم عام طور پر اشارہ کو دیکھ تو، ہم اصل میں اشارہ کے طور پر ایسا کرتے ہیں. 235 00:12:12,390 --> 00:12:17,000 PK ہمیں معلومات فراہم کرتا ہے ہم نے یاد میں K تلاش کرنے کی ضرورت. 236 00:12:17,000 --> 00:12:19,120 تو بنیادی طور پر پی اس میں ایک تیر ہے. 237 00:12:19,120 --> 00:12:21,670 اور ہم لمبائی چلے تو کہ تیر کی، تصور 238 00:12:21,670 --> 00:12:25,280 یہ آپ پر چل سکتا ہے کچھ ہے، اگر ہم تیر کی لمبائی کے ساتھ ساتھ چلنا، 239 00:12:25,280 --> 00:12:29,490 کہ تیر کے سرے پر، ہم میموری میں جگہ مل جائے گا 240 00:12:29,490 --> 00:12:31,390 جہاں K رہتا ہے. 241 00:12:31,390 --> 00:12:34,360 اور یہ کہ بہت ضروری ہے K کہاں رہتی ہے ہم جانتے ہیں ایک بار، کیونکہ 242 00:12:34,360 --> 00:12:37,870 ہم اعداد و شمار کے ساتھ کام کرنے کے لئے شروع کر سکتے ہیں اس میموری مقام کے اندر. 243 00:12:37,870 --> 00:12:40,780 ہم ایک teeny ہو رہی ہے اگرچہ اب کے لئے آگے خود کا تھوڑا سا. 244 00:12:40,780 --> 00:12:42,240 >> تو ایک پوائنٹر کیا ہے؟ 245 00:12:42,240 --> 00:12:45,590 ایک پوائنٹر جس کا ایک ڈیٹا شے ہے قیمت ایک میموری ایڈریس ہے. 246 00:12:45,590 --> 00:12:49,740 تھا صفر X آٹھ صفر چیزیں پر جا، کہ ایک میموری ایڈریس تھا. 247 00:12:49,740 --> 00:12:52,060 یہ یاد میں ایک مقام تھا. 248 00:12:52,060 --> 00:12:55,080 اور ایک پوائنٹر کی قسم قسم کی وضاحت 249 00:12:55,080 --> 00:12:56,930 اعداد و شمار کی آپ کو تلاش کر لیں گے کہ میموری ایڈریس. 250 00:12:56,930 --> 00:12:58,810 تو int سٹار حصہ وہیں ہے. 251 00:12:58,810 --> 00:13:03,690 مجھے لگتا ہے کہ تیر کی پیروی کرتے ہیں، یہ ہے کسی جگہ پر قیادت کرنے کے لئے جا رہا. 252 00:13:03,690 --> 00:13:06,980 اور اس مقام، جو میں نے میری مثال میں وہاں مل جائے گا، 253 00:13:06,980 --> 00:13:08,240 ایک سبز رنگ کے باکس ہے. 254 00:13:08,240 --> 00:13:12,650 یہ کیا ہے، ایک عدد صحیح ہے میں مجھے اس پتے پر جانا ہے تو مل جائے گا. 255 00:13:12,650 --> 00:13:14,830 ایک کے اعداد و شمار کی قسم پوائنٹر کیا بیان 256 00:13:14,830 --> 00:13:17,936 آپ اس میموری ایڈریس پر مل جائے گا. 257 00:13:17,936 --> 00:13:19,560 تو یہاں اگرچہ واقعی ٹھنڈی چیز ہے. 258 00:13:19,560 --> 00:13:25,090 نوٹیفائر ہمیں منتقل کرنے کی اجازت افعال کے درمیان متغیر. 259 00:13:25,090 --> 00:13:28,520 اور اصل میں متغیر کو منتقل اور ان کی کاپیاں کو منتقل نہیں. 260 00:13:28,520 --> 00:13:32,879 ہم جانتے ہیں کیونکہ اگر کہاں یاد میں ایک متغیر تلاش کرنے کے لئے، 261 00:13:32,879 --> 00:13:35,670 ہم کی ایک کاپی بنانے کے لئے کی ضرورت نہیں ہے یہ، ہم صرف اس مقام پر جا سکتے ہیں 262 00:13:35,670 --> 00:13:37,844 اور اس متغیر کے ساتھ کام کرتے ہیں. 263 00:13:37,844 --> 00:13:40,260 جوہر اشارہ میں تو اس طرح کی ایک کمپیوٹر ماحول بنانے 264 00:13:40,260 --> 00:13:42,360 ایک بہت زیادہ حقیقی دنیا کی طرح، صحیح. 265 00:13:42,360 --> 00:13:44,640 >> تو یہاں ایک قیاس ہے. 266 00:13:44,640 --> 00:13:48,080 میں نے ایک نوٹ بک ہے کہ کا کہنا ہے کہ، ٹھیک ہے، اور یہ نوٹ سے بھرا ہوا ہے. 267 00:13:48,080 --> 00:13:50,230 اور میں تم اس کو اپ ڈیٹ کرنا چاہتے ہیں. 268 00:13:50,230 --> 00:13:53,960 آپ کو ایک تقریب سے ہیں کہ اپ نوٹوں، صحیح. 269 00:13:53,960 --> 00:13:56,390 راستے میں ہم نے کیا گیا ہے اب تک کام کر رہے ہیں، کیا 270 00:13:56,390 --> 00:14:02,370 تم نے میری نوٹ بک لے گا ہوتا ہے، آپ کاپی کی دکان میں چلے جائیں گے 271 00:14:02,370 --> 00:14:06,410 تم میں سے ایک زیروکس کاپی بنا دیں گے نوٹ بک کے ہر صفحے. 272 00:14:06,410 --> 00:14:09,790 تم واپس اپنے لیپ ٹاپ چھوڑ دیں گے میری میز پر تم نے کیا کر رہے ہیں جب، 273 00:14:09,790 --> 00:14:14,600 تم جاؤ اور میں چیزوں کو باہر پار کریں گے میرے تاریخ یا غلط سے باہر ہیں کہ نوٹ بک، 274 00:14:14,600 --> 00:14:19,280 اور اس کے بعد آپ کو واپس منتقل کریں گے مجھے زیروکس صفحات کے اسٹیک 275 00:14:19,280 --> 00:14:22,850 کہ میرے لیپ ٹاپ کی ایک نقل کے ساتھ ہے آپ کو اس کے لئے بنایا ہے کہ تبدیلیاں. 276 00:14:22,850 --> 00:14:27,040 اور اس نقطہ پر، اس کے طور پر مجھ پر منحصر ہے کالنگ تقریب، کال کرنے والے کے طور پر، 277 00:14:27,040 --> 00:14:30,582 آپ کے نوٹ لینے کے لئے فیصلہ کرنے کے لئے اور میری نوٹ بک میں انہیں واپس ضم. 278 00:14:30,582 --> 00:14:32,540 تو اقدامات کی ایک بہت کچھ ہے یہاں شامل، صحیح. 279 00:14:32,540 --> 00:14:34,850 کی طرح یہ بہتر نہیں ہو گا میں صرف کا کہنا ہے کہ، ارے، آپ کر سکتے ہیں 280 00:14:34,850 --> 00:14:38,370 کے لئے اپنے لیپ ٹاپ کو اپ ڈیٹ مجھے،، آپ کو اپنے لیپ ٹاپ ہاتھ 281 00:14:38,370 --> 00:14:40,440 اور آپ کو چیزیں لینے کے لئے اور لفظی ان باہر پار 282 00:14:40,440 --> 00:14:42,810 اور میری نوٹ بک میں اپنے نوٹ کو اپ ڈیٹ. 283 00:14:42,810 --> 00:14:45,140 اور پھر میرے لیپ ٹاپ واپس دے. 284 00:14:45,140 --> 00:14:47,320 اس کی قسم کیا ہے اشارہ، ہم ایسا کرنے کی اجازت 285 00:14:47,320 --> 00:14:51,320 وہ اس ماحول ایک بہت بنانے کے ہم حقیقت میں کام کس طرح زیادہ. 286 00:14:51,320 --> 00:14:54,640 >> تاکہ ٹھیک ہے ایک پوائنٹر، کی بات ہے 287 00:14:54,640 --> 00:14:58,040 اشارہ سی میں کام کرتے ہیں، اور کس طرح کے بارے میں کہ ہم کس طرح ان کے ساتھ کام کرنے کے لئے شروع کر سکتے ہیں. 288 00:14:58,040 --> 00:15:02,550 تو ایک بہت سادہ پوائنٹر ہے C میں، شہوت انگیز null پوائنٹر کہا جاتا ہے. 289 00:15:02,550 --> 00:15:04,830 کچھ بھی نہیں، شہوت انگیز null پوائنٹر پوائنٹس. 290 00:15:04,830 --> 00:15:08,310 یہ ہے کی طرح یہ شاید لگتا ہے اصل میں ایک بہت ہی مفید چیز ہے، 291 00:15:08,310 --> 00:15:10,500 لیکن ہم ایک دیکھ لیں گے کے طور پر بعد میں تھوڑا، حقیقت 292 00:15:10,500 --> 00:15:15,410 اس شہوت انگیز null پوائنٹر موجود ہے اصل میں واقعی ہاتھ میں آ سکتا. 293 00:15:15,410 --> 00:15:19,090 اور آپ کو ایک پوائنٹر پیدا جب، اور آپ اس کی قیمت immediately- مقرر نہیں کرتے 294 00:15:19,090 --> 00:15:21,060 ترتیب کی ایک مثال اس کی قیمت فوری طور پر 295 00:15:21,060 --> 00:15:25,401 واپس ایک جوڑے سلائڈ ہو جائے گا میں، PK وکشمیر کے برابر ہے جہاں 296 00:15:25,401 --> 00:15:28,740 پی کے طور پر، K کا پتہ ہو جاتا ہے ہم، اس کا مطلب کیا دیکھیں گے 297 00:15:28,740 --> 00:15:32,990 ہم اس کوڈ کو کس طرح نظر آئے گا shortly- ہم کچھ اس کی قیمت مقرر نہیں ہے تو 298 00:15:32,990 --> 00:15:35,380 فوری طور پر بامعنی، آپ کو ہمیشہ ہونا چاہئے 299 00:15:35,380 --> 00:15:37,480 شہوت انگیز null کی طرف اشارہ کرنے کے لئے آپ پوائنٹر قائم. 300 00:15:37,480 --> 00:15:40,260 تم نے اسے کچھ بھی نہیں کی طرف اشارہ کرنے کے لئے مقرر کیا جانا چاہئے. 301 00:15:40,260 --> 00:15:43,614 >> اس سے بہت مختلف ہے یہ ہے کے طور پر صرف کی قیمت کو چھوڑ کر 302 00:15:43,614 --> 00:15:45,530 اور پھر ایک اعلان پوائنٹر اور صرف سنبھالنے 303 00:15:45,530 --> 00:15:48,042 کہ شاذ و نادر ہی سچ ہے کیونکہ یہ شہوت انگیز null ہے. 304 00:15:48,042 --> 00:15:50,000 لہذا آپ کو ہمیشہ قائم کرنا چاہئے ایک پوائنٹر کی قدر 305 00:15:50,000 --> 00:15:55,690 آپ کو اس کی قیمت مقرر نہیں ہے تو شہوت انگیز null فوری طور پر بامعنی کچھ کرنے کے لئے. 306 00:15:55,690 --> 00:15:59,090 آپ کو چیک نہیں کر سکتے ہیں ایک پوائنٹر کی قدر چاہے مساوات آپریٹر استعمال کر رہے ہیں، شہوت انگیز null ہے 307 00:15:59,090 --> 00:16:05,450 (==)، صرف آپ کو کسی بھی عددی موازنہ پسند اقدار یا کردار اقدار استعمال کرتے ہوئے (==) 308 00:16:05,450 --> 00:16:06,320 اس کے ساتھ ساتھ. 309 00:16:06,320 --> 00:16:10,994 یہ مسلسل کی ایک خاص قسم ہے آپ کی جانچ کرنے کے لئے استعمال کر سکتے ہیں اس قدر. 310 00:16:10,994 --> 00:16:13,160 تو یہ ایک بہت آسان تھا پوائنٹر، شہوت انگیز null پوائنٹر. 311 00:16:13,160 --> 00:16:15,320 ایک راستہ بنانے کے لئے ایک پوائنٹر نکالنے کے لئے ہے 312 00:16:15,320 --> 00:16:18,240 ایک متغیر کا پتہ آپ نے پہلے ہی پیدا کیا ہے، 313 00:16:18,240 --> 00:16:22,330 اور اگر آپ اس کا استعمال کرتے ہوئے آپریٹر ایڈریس نکالنے. 314 00:16:22,330 --> 00:16:26,720 جو ہم نے پہلے ہی پہلے دیکھا ہے پہلے آریھ مثال میں ظاہر ہوتا ہے. 315 00:16:26,720 --> 00:16:31,450 X ہم ہے کہ ایک متغیر ہے تو پہلے سے قسم عددی پیدا، 316 00:16:31,450 --> 00:16:35,110 پھر & X ایک عددی ایک پوائنٹر ہے. 317 00:16:35,110 --> 00:16:39,810 & X ہے-، اور نکالنے کے لئے کی جا رہی ہے یاد دائیں بات کا پتہ. 318 00:16:39,810 --> 00:16:45,350 اور ایک پوائنٹر صرف ایک ایڈریس ہے کے بعد سے، مقابلے اور ایکس ایک عددی ایک پوائنٹر ہے 319 00:16:45,350 --> 00:16:48,560 جس کی قیمت جہاں میموری X زندگی میں ہے. 320 00:16:48,560 --> 00:16:50,460 یہ X کے ایڈریس ہے. 321 00:16:50,460 --> 00:16:53,296 تو اور ایکس ایکس کے ایڈریس ہے. 322 00:16:53,296 --> 00:16:55,670 اس ایک قدم لے مزید اور کچھ کرنے کے لئے مربوط 323 00:16:55,670 --> 00:16:58,380 میں پہلے ویڈیو میں کرنے کے لئے alluded. 324 00:16:58,380 --> 00:17:06,730 آمد ڈبلز کی ایک سرنی پھر، ہے اور آمد مربع بریکٹ میں ایک پوائنٹر ہے 325 00:17:06,730 --> 00:17:08,109 ایک ڈبل کرنے کے لئے. 326 00:17:08,109 --> 00:17:08,970 ٹھیک ہے. 327 00:17:08,970 --> 00:17:12,160 میں، تو مربع بریکٹ آمد آمد، ڈبلز کی ایک صف ہے 328 00:17:12,160 --> 00:17:19,069 پھر میں ہے مربع بریکٹ آمد اس صف کے I- ویں عنصر، 329 00:17:19,069 --> 00:17:29,270 اور & مربع بریکٹ آمد میں کہاں ہے میموری آمد کے I- ویں عنصر موجود ہے. 330 00:17:29,270 --> 00:17:31,790 >> تو مطلب یہاں کیا ہے؟ 331 00:17:31,790 --> 00:17:34,570 ایک arrays کے نام، مطلب اس پوری چیز کا، 332 00:17:34,570 --> 00:17:39,290 ایک صف کے نام ہے اصل میں خود کو ایک پوائنٹر. 333 00:17:39,290 --> 00:17:41,170 تم کام کر رہا ہوں سب کے ساتھ ساتھ اشارہ کے ساتھ 334 00:17:41,170 --> 00:17:45,290 آپ کو ایک صف استعمال کیا ہے کہ ہر وقت. 335 00:17:45,290 --> 00:17:49,090 مثال کے طور پر کی طرف سے یاد رکھیں متغیر گنجائش پر، 336 00:17:49,090 --> 00:17:53,420 میں پیش ویڈیو کے اختتام کے قریب ہم نے ایک تقریب ہے جہاں ایک مثال کے طور پر 337 00:17:53,420 --> 00:17:56,890 بلایا سیٹ int اور ایک تقریب سیٹ صف بلایا. 338 00:17:56,890 --> 00:18:00,490 اور آپ کا چیلنج کا تعین کرنے یا نہیں، یا کیا 339 00:18:00,490 --> 00:18:03,220 ہم باہر پرنٹ ہے کہ اقدار تقریب کے اختتام، 340 00:18:03,220 --> 00:18:05,960 اہم پروگرام کے اختتام پر. 341 00:18:05,960 --> 00:18:08,740 >> آپ کو اس مثال سے یاد تو یا آپ کو ویڈیو کو دیکھا ہے تو، 342 00:18:08,740 --> 00:18:13,080 آپ کو کال حق جب جانتے ہیں کہ سیٹ INT مؤثر طریقے سے کچھ نہیں کرتا. 343 00:18:13,080 --> 00:18:16,390 لیکن کال سرنی کرتا ہے قائم کرنے کے لئے. 344 00:18:16,390 --> 00:18:19,280 اور میں قسم کی کیوں زیادہ glossed اس وقت معاملہ تھا. 345 00:18:19,280 --> 00:18:22,363 میں صرف اچھی طرح سے، یہ ایک صف ہے ہے، نے کہا خصوصی، آپ جانتے ہیں، ایک وجہ ہے. 346 00:18:22,363 --> 00:18:25,020 وجہ یہ ہے کہ ایک صف کے ہے نام، واقعی صرف ایک پوائنٹر ہے 347 00:18:25,020 --> 00:18:28,740 اور اس خصوصی ہے مربع بریکٹ نحو کہ 348 00:18:28,740 --> 00:18:30,510 کے ساتھ کام کرنے چیزیں بہت اچھے بنا. 349 00:18:30,510 --> 00:18:34,410 اور وہ ایک کے خیال بنانے بہت کم دھمکی پوائنٹر، 350 00:18:34,410 --> 00:18:36,800 وہ طرح ہیں یہی وجہ ہے کہ کے اس انداز میں پیش کیا. 351 00:18:36,800 --> 00:18:38,600 لیکن واقعی arrays کے صرف اشارہ ہیں. 352 00:18:38,600 --> 00:18:41,580 اور یہ کہ کیوں جب ہم ، سرنی کے لئے ایک تبدیلی کی 353 00:18:41,580 --> 00:18:44,880 ہم نے ایک پیرامیٹر کے طور پر ایک سرنی منظور جب ایک تقریب میں یا ایک دلیل کے طور پر 354 00:18:44,880 --> 00:18:50,110 صف کی ایک تقریب میں، مواد اصل میں دونوں Callee کی میں تبدیل کر دیا 355 00:18:50,110 --> 00:18:51,160 اور کالر میں. 356 00:18:51,160 --> 00:18:55,846 کے ہر دوسرے قسم کے لئے کون ہم نے دیکھا متغیر معاملہ نہیں تھا. 357 00:18:55,846 --> 00:18:58,970 تو ہے کہ میں رکھنے کے لئے کچھ ہے آپ کو اشارہ کے ساتھ کام کر رہے ہیں جب برا، 358 00:18:58,970 --> 00:19:01,610 ہے کہ ایک کا نام صف اصل میں ایک پوائنٹر 359 00:19:01,610 --> 00:19:04,750 اس صف کے پہلے عنصر. 360 00:19:04,750 --> 00:19:08,930 >> ٹھیک ہے تو اب ہم ان تمام ہے حقائق، کا حق، جا رکھنے دیں. 361 00:19:08,930 --> 00:19:11,370 کیوں ہم کے بارے میں دیکھ بھال کرتے ہیں جہاں کچھ رہتا ہے. 362 00:19:11,370 --> 00:19:14,120 میں نے کہا ٹھیک ہے کی طرح، یہ خوبصورت ہے کچھ رہتا ہے جہاں جاننے کے لئے مفید 363 00:19:14,120 --> 00:19:17,240 تو تم وہاں جاؤ اور اسے تبدیل کر سکتے ہیں. 364 00:19:17,240 --> 00:19:19,390 اس کے ساتھ کام کرتے ہیں اور اصل میں بات ہے کہ آپ کو 365 00:19:19,390 --> 00:19:23,710 کہ متغیر لے اثر کرنا چاہتے ہیں، اور اس میں سے کچھ کاپی پر اثر نہیں لے. 366 00:19:23,710 --> 00:19:26,150 یہ محولہ لقب ضبطی کہا جاتا ہے. 367 00:19:26,150 --> 00:19:28,690 حوالہ کے پاس جاؤ اور ہم وہاں قدر تبدیل. 368 00:19:28,690 --> 00:19:32,660 ہم ایک پوائنٹر ہے اور اگر ایسا ہے تو یہ کہا جاتا ہے پی سی، اور یہ ایک کردار کی طرف اشارہ ہے، 369 00:19:32,660 --> 00:19:40,610 پھر ہم * پی سی اور * پی سی کا کہنا ہے کہ کر سکتے ہیں ہمیں جانا تو ہم تلاش کر لیں گے کے نام 370 00:19:40,610 --> 00:19:42,910 ایڈریس کے کمپیوٹر پر. 371 00:19:42,910 --> 00:19:47,860 کیا ہم وہاں تلاش کر لیں گے ایک کردار ہے اور * پی سی ہے کہ ہم اس میں اعداد و شمار کا حوالہ دیتے ہیں کہ کس طرح ہے 372 00:19:47,860 --> 00:19:48,880 محل وقوع. 373 00:19:48,880 --> 00:19:54,150 تو ہم کچھ اس طرح کہہ سکتے ہیں * پی سی = D یا اس طرح کچھ، 374 00:19:54,150 --> 00:19:59,280 اور اس کا مطلب ہے کہ جو کچھ بھی ، میموری ایڈریس پی سی میں تھا 375 00:19:59,280 --> 00:20:07,040 جو بھی کردار پہلے تھا ہم پی سی = D * کا کہنا ہے کہ وہاں،، اب D ہے. 376 00:20:07,040 --> 00:20:10,090 >> لہذا ہم یہاں کے ساتھ دوبارہ جانا کچھ عجیب سی چیزیں، صحیح. 377 00:20:10,090 --> 00:20:14,560 تو ہم کے طور پر ماضی میں * دیکھا ہے کسی نہ کسی طرح ڈیٹا کی قسم کا حصہ، 378 00:20:14,560 --> 00:20:17,160 اور اب اس میں استعمال کیا جا رہا ہے ایک تھوڑا سا مختلف سیاق و سباق 379 00:20:17,160 --> 00:20:19,605 ایک مقام پر ڈیٹا تک رسائی حاصل کرنے کے لئے. 380 00:20:19,605 --> 00:20:22,480 مجھے یہ تھوڑا مبہم ہے جانتے ہیں اور کہ اصل میں اس پورے کا حصہ ہے 381 00:20:22,480 --> 00:20:25,740 کی طرح، کیوں اشارہ اس پران ہے ان کے ارد گرد اتنی پیچیدہ ہونے کے طور پر، 382 00:20:25,740 --> 00:20:28,250 ایمانداری، ایک نحوی مسئلہ کی طرح ہے. 383 00:20:28,250 --> 00:20:31,810 لیکن * دونوں سیاق و سباق میں استعمال کیا جاتا ہے، دونوں قسم کے نام کا حصہ کے طور پر، 384 00:20:31,810 --> 00:20:34,100 اور ہم نے ایک چھوٹا سا نظر آئے گا بھی اور بعد میں کچھ،. 385 00:20:34,100 --> 00:20:36,490 اور اب ہے dereference آپریٹر. 386 00:20:36,490 --> 00:20:38,760 تو یہ حوالہ ہے، یہ اعداد و شمار تک رسائی حاصل 387 00:20:38,760 --> 00:20:43,000 پوائنٹر کے محل وقوع، اور آپ اپنی مرضی سے یہ جوڑتوڑ کرنے کی اجازت دیتا ہے. 388 00:20:43,000 --> 00:20:45,900 >> اب اس کی طرح ہے اپنے پڑوسی کا دورہ، صحیح. 389 00:20:45,900 --> 00:20:48,710 اگر تم جانتے ہو کیا آپ پڑوسی تم، رہتا ہے 390 00:20:48,710 --> 00:20:50,730 اپنے پڑوسی کے ساتھ باہر پھانسی نہیں. 391 00:20:50,730 --> 00:20:53,510 آپ کے لئے ہو جانتے ہیں وہ کہاں رہتے ہیں جانتے ہیں، 392 00:20:53,510 --> 00:20:56,870 لیکن اس سے یہ مطلب نہیں ہے اس علم رکھنے کی فضیلت 393 00:20:56,870 --> 00:20:59,170 آپ ان کے ساتھ بات چیت کر رہے. 394 00:20:59,170 --> 00:21:01,920 آپ ان کے ساتھ بات چیت کرنا چاہتے ہیں تو، آپ، ان کے گھر جانا ہے 395 00:21:01,920 --> 00:21:03,760 آپ کو وہ کہاں رہتے ہیں کے لئے جانا ہے. 396 00:21:03,760 --> 00:21:07,440 اور آپ کو ایسا ایک بار، تو آپ بات چیت کر سکتے 397 00:21:07,440 --> 00:21:09,420 ان کے ساتھ صرف آپ کے لئے چاہتے ہیں پسند. 398 00:21:09,420 --> 00:21:12,730 اور اسی طرح متغیر کے ساتھ، آپ کو ان کے ایڈریس پر جانے کی ضرورت ہے 399 00:21:12,730 --> 00:21:15,320 تم نے انہیں بات چیت کرنا چاہتے ہیں تو، آپ کو صرف پتہ نہیں کر سکتے ہیں. 400 00:21:15,320 --> 00:21:21,495 اور آپ کو پتہ پر جانا طریقہ ہے *، dereference آپریٹر استعمال کرنے کے لئے. 401 00:21:21,495 --> 00:21:23,620 آپ کو کیا ہوتا کیا سوچتے ہیں ہم کوشش کریں اور dereference ہے تو 402 00:21:23,620 --> 00:21:25,260 جس کی قیمت ایک پوائنٹر شہوت انگیز null ہے؟ 403 00:21:25,260 --> 00:21:28,470 شہوت انگیز null کو یاد ہوگا کہ پوائنٹر کچھ کی طرف اشارہ ہے. 404 00:21:28,470 --> 00:21:34,110 آپ کوشش کریں اور dereference ہے اگر ایسا ہے تو کچھ بھی نہیں ایک ایڈریس کچھ بھی نہیں جانا یا، 405 00:21:34,110 --> 00:21:36,800 آپ کو کیا ہوتا کیا سوچتے ہیں؟ 406 00:21:36,800 --> 00:21:39,630 ویسے آپ کو اندازہ تو انقطاع غلطی، آپ ٹھیک ہو جائے گا. 407 00:21:39,630 --> 00:21:41,390 آپ کوشش کریں اور dereference ہے تو شہوت انگیز null پوائنٹر، 408 00:21:41,390 --> 00:21:43,140 آپ کو ایک انقطاع کا شکار غلطی. لیکن، انتظار 409 00:21:43,140 --> 00:21:45,820 مجھے لگتا ہے کہ، آپ کو بتا نہیں کیا تم جا نہیں کر رہے ہیں 410 00:21:45,820 --> 00:21:49,220 آپ کے قیمت مقرر کرنے کے لئے آپ بامعنی کچھ پوائنٹر، 411 00:21:49,220 --> 00:21:51,000 آپ شہوت انگیز null کے لئے مقرر کیا کرنا چاہئے؟ 412 00:21:51,000 --> 00:21:55,290 میں نے کیا اور اصل میں انقطاع غلطی ایک اچھے رویے کی طرح ہے. 413 00:21:55,290 --> 00:21:58,680 >> تم نے کبھی ایک متغیر کا اعلان کر اور فوری طور پر اس کی قیمت تفویض نہیں کر سکے؟ 414 00:21:58,680 --> 00:22:02,680 تو کیا تم صرف int ایکس کا کہنا ہے کہ؛ آپ ایسا نہیں کرتے اصل میں کچھ بھی کرنے کے لئے اس کی وضاحت 415 00:22:02,680 --> 00:22:05,340 اور پھر بعد میں اپنے کوڈ میں، آپ، X کی قدر باہر پرنٹ 416 00:22:05,340 --> 00:22:07,650 اب بھی نہیں ہونے کچھ کرنے کے لئے تفویض. 417 00:22:07,650 --> 00:22:10,370 اکثر آپ کو ملے گا صفر، لیکن کبھی کبھی آپ 418 00:22:10,370 --> 00:22:15,000 کچھ بے ترتیب تعداد میں حاصل، اور ہو سکتا ہے آپ یہ کہاں سے آیا کوئی اندازہ نہیں ہے. 419 00:22:15,000 --> 00:22:16,750 اسی طرح چیزیں کر سکتے ہیں اشارہ کے ساتھ ہو. 420 00:22:16,750 --> 00:22:20,110 آپ کو ایک پوائنٹر اعلان کرتے INT * مثال کے طور پر پی، 421 00:22:20,110 --> 00:22:23,490 اور آپ کو ایک کی قیمت پر اس کی وضاحت نہیں آپ میموری کے لئے چار بائٹس حاصل. 422 00:22:23,490 --> 00:22:25,950 کی جو بھی چار بائٹس نظام میموری کر سکتے ہیں 423 00:22:25,950 --> 00:22:28,970 کچھ بامعنی قدر ہے کہ مل جائے. 424 00:22:28,970 --> 00:22:31,760 اور وہاں ہو سکتا ہے پہلے سے ہی موجود ہے کہ کچھ 425 00:22:31,760 --> 00:22:34,190 دوسرے کی طرف سے کی ضرورت نہیں رہ گیا ہے تقریب، آپ کو صرف ضرورت ہے تاکہ 426 00:22:34,190 --> 00:22:35,900 جو ڈیٹا تھا. 427 00:22:35,900 --> 00:22:40,570 >> کیا آپ dereference ہے کرنے کی کوشش کی تو تم وہاں تھے don't- کہ کچھ پتہ 428 00:22:40,570 --> 00:22:43,410 پہلے سے بائٹس اور معلومات میں وہاں، کہ آپ پوائنٹر میں ہے. 429 00:22:43,410 --> 00:22:47,470 ، اگر تم کوشش کرو اور اس پوائنٹر dereference آپ کو کچھ یاد داشت کے ساتھ خلط ملط ہو سکتا ہے 430 00:22:47,470 --> 00:22:49,390 آپ کا ارادہ نہیں تھا کہ یہ سب کے ساتھ گڑبڑ کرنے. 431 00:22:49,390 --> 00:22:51,639 اور حقیقت میں آپ کر سکتے ہیں واقعی تباہ کن کچھ، 432 00:22:51,639 --> 00:22:54,880 طرح کسی دوسرے پروگرام کو توڑنے، یا، ایک اور تقریب کو توڑنے 433 00:22:54,880 --> 00:22:58,289 یا کہ بدنیتی پر مبنی کچھ آپ بالکل ایسا کرنے کا ارادہ نہیں تھا. 434 00:22:58,289 --> 00:23:00,080 یہ ہے اور یہی وجہ ہے اتنا ہے کہ اصل میں ایک اچھا خیال 435 00:23:00,080 --> 00:23:04,030 اگر آپ شہوت انگیز null اشارہ آپ کے قائم کرنے کے لئے بامعنی کچھ کے لئے ان مقرر نہیں کرتے. 436 00:23:04,030 --> 00:23:06,760 یہ شاید بہتر ہے آپ کے پروگرام کے لئے دن کے اختتام 437 00:23:06,760 --> 00:23:09,840 ایسا کرنے کے لئے اس کے بعد کریش ہوا کچھ اس پیچ 438 00:23:09,840 --> 00:23:12,400 ایک پروگرام یا ایک اور تقریب. 439 00:23:12,400 --> 00:23:15,207 اس رویے سے بھی شاید ہے صرف اجلاس ہونے کے تناظر سے کم مثالی. 440 00:23:15,207 --> 00:23:17,040 یہ ہے اور یہی وجہ ہے اتنا ہے کہ اصل میں ایک اچھی عادت 441 00:23:17,040 --> 00:23:20,920 آپ اشارہ قائم کرنے میں حاصل کرنے کے تم نے انہیں مقرر نہیں ہے تو شہوت انگیز null 442 00:23:20,920 --> 00:23:24,540 ایک بامعنی قیمت پر آپ کو پتہ ہے کہ فوری طور پر، ایک قدر 443 00:23:24,540 --> 00:23:27,260 اور یہ کہ آپ کو محفوظ طریقے سے کر سکتے ہیں dereference ہے. 444 00:23:27,260 --> 00:23:32,240 >> تو اب واپس آنے دو اور ایک نظر ڈالیں صورت حال کا مجموعی نحو میں. 445 00:23:32,240 --> 00:23:37,400 میں int * P کہتے ہیں ؛، میں صرف کیا کیا ہے؟ 446 00:23:37,400 --> 00:23:38,530 کیا میں نے کیا ہے یہ ہے. 447 00:23:38,530 --> 00:23:43,290 میں P کی قیمت ایک پتہ ہے جانتے ہیں تمام اشارہ صرف ہے کیونکہ 448 00:23:43,290 --> 00:23:44,660 پتے. 449 00:23:44,660 --> 00:23:47,750 میں کر سکتا ہوں dereference ہے P * آپریٹر کا استعمال کرتے. 450 00:23:47,750 --> 00:23:51,250 بہت میں یہاں اس سیاق و سباق میں، سب سے * قسم کا حصہ ہے یاد. 451 00:23:51,250 --> 00:23:53,510 INT * ڈیٹا کی قسم ہے. 452 00:23:53,510 --> 00:23:56,150 لیکن میں dereference کر سکتے ہیں * آپریٹر کا استعمال کرتے P، 453 00:23:56,150 --> 00:24:01,897 اور میں ایسا کرتے ہیں تو، میں اس پتے پر جاتے ہیں تو، مجھے اس پتے پر کیا جائے گا؟ 454 00:24:01,897 --> 00:24:02,855 میں ایک عددی جائے گا. 455 00:24:02,855 --> 00:24:05,910 تو int * P بنیادی طور پر ہے کہہ، P ایک پتہ ہے. 456 00:24:05,910 --> 00:24:09,500 میں کر سکتا ہوں P dereference ہے اور اگر مجھے معلوم ہے، میں ایک عددی جائے گا 457 00:24:09,500 --> 00:24:11,920 اس میموری مقام پر. 458 00:24:11,920 --> 00:24:14,260 >> ٹھیک ہے میں ایک وہاں تھا ستاروں کے ساتھ پریشان کن بات 459 00:24:14,260 --> 00:24:17,060 اور یہاں جہاں ہے ستاروں کے ساتھ پریشان کن بات یہ ہے. 460 00:24:17,060 --> 00:24:21,640 کیا تم نے کبھی کا اعلان کرنے کی کوشش کی ہے اسی قسم کی ایک سے زیادہ متغیر 461 00:24:21,640 --> 00:24:24,409 کوڈ کی ایک ہی لائن پر نہیں ہیں؟ 462 00:24:24,409 --> 00:24:27,700 تو ایک سیکنڈ کے لئے،، اس لائن دکھاوا میں اصل میں سبز رنگ میں وہاں پڑے کوڈ 463 00:24:27,700 --> 00:24:29,366 وہاں نہیں ہے اور یہ صرف int X، Y، Z کا کہنا ہے کہ؛ 464 00:24:29,366 --> 00:24:31,634 465 00:24:31,634 --> 00:24:34,550 کیا ایسا کریں گے اصل میں تخلیق ہے آپ کے لئے تین عددی متغیر، 466 00:24:34,550 --> 00:24:36,930 ایک نام نہاد ایکس، ایک نام نہاد Y، اور ایک Z بلایا. 467 00:24:36,930 --> 00:24:41,510 اس کے بغیر ایسا کرنے کے لئے ایک طریقہ ہے تین لائنوں پر تقسیم کرنے کے لئے. 468 00:24:41,510 --> 00:24:43,890 >> ستاروں کو حاصل یہاں ہے جہاں اگرچہ ایک بار پھر پریشان، 469 00:24:43,890 --> 00:24:49,200 * اصل حصہ ہے کیونکہ دونوں قسم کا نام اور حصہ کی 470 00:24:49,200 --> 00:24:50,320 متغیر کا نام. 471 00:24:50,320 --> 00:24:56,430 اور اس طرح اگر میں کہوں INT * پکسلز، Py میں، PZ، جو میں نے اصل میں حاصل ایک عددی ایک پوائنٹر ہے 472 00:24:56,430 --> 00:25:01,650 پکسلز اور دو integers، Py کی اور PZ بلایا. 473 00:25:01,650 --> 00:25:04,950 اور یہ کہ شاید نہیں کیا ہے ہم یہ اچھا نہیں ہے، چاہتے ہیں. 474 00:25:04,950 --> 00:25:09,290 >> میں ایک سے زیادہ اشارہ پیدا کرنے کے لئے چاہتے ہیں تو ایک ہی لائن میں، اسی قسم کے، 475 00:25:09,290 --> 00:25:12,140 میں واقعی میں ضرورت ہے اور ستاروں، ایسا کرنے کے لئے * PB، * پی سی، INT * PA کا کہنا ہے کہ. 476 00:25:12,140 --> 00:25:17,330 477 00:25:17,330 --> 00:25:20,300 اب اس نے کہا کہ اور اب، تم یہ کہہ 478 00:25:20,300 --> 00:25:22,170 آپ کو شاید یہ کبھی نہیں کروں گا. 479 00:25:22,170 --> 00:25:25,170 اور یہ، ایمانداری سے شاید ایک اچھی بات ہے آپ نادانستہ طور پر ہو سکتا ہے کیونکہ 480 00:25:25,170 --> 00:25:26,544 ایک ستارہ، اس طرح کچھ ترک. 481 00:25:26,544 --> 00:25:29,290 یہ ہو سکتا ہے کا اعلان کرنے کے لئے شاید سب سے بہتر ہے انفرادی لائنوں پر اشارہ، 482 00:25:29,290 --> 00:25:31,373 لیکن یہ صرف ایک ہے ان پریشان نحو کے 483 00:25:31,373 --> 00:25:35,310 ہے کہ ستاروں کے ساتھ چیزیں ساتھ مل کر کام کرنے کے لئے اتنا مشکل اشارہ. 484 00:25:35,310 --> 00:25:39,480 یہ صرف اس نحوی ہے کیونکہ گندگی آپ کے ذریعے کام کرنے کے لئے ہے. 485 00:25:39,480 --> 00:25:41,600 پریکٹس کے ساتھ کرتا ہے واقعی دوسری فطرت بن. 486 00:25:41,600 --> 00:25:45,410 میں اب بھی اب بھی اس کے ساتھ غلطیوں کو بنانے کے 10 سال کے لئے پروگرامنگ کے بعد، 487 00:25:45,410 --> 00:25:49,630 کچھ ہوتا ہے تو پریشان نہ ہو آپ کو، یہ ایمانداری سے بہت عام ہے. 488 00:25:49,630 --> 00:25:52,850 یہ قسم کی واقعی ہے نحو کے ایک دوش. 489 00:25:52,850 --> 00:25:54,900 >> ٹھیک ہے تو میں قسم کا وعدہ ہم پر نظرثانی کریں گے کہ 490 00:25:54,900 --> 00:25:59,370 کتنے بڑے کا تصور ایک تار ہے. 491 00:25:59,370 --> 00:26:02,750 ویسے میں نے ایک تم سے کہا کہ تو سٹرنگ، ہم اس قسم کی واقعی ہے 492 00:26:02,750 --> 00:26:04,140 آپ کو پورے وقت جھوٹ بول رہا. 493 00:26:04,140 --> 00:26:06,181 نامی کوئی ڈیٹا کی قسم ہے سٹرنگ، اور میں حقیقت میں 494 00:26:06,181 --> 00:26:09,730 میں سے ایک میں اس کا ذکر کیا ہمارے اعداد و شمار اقسام پر ابتدائی ویڈیوز، 495 00:26:09,730 --> 00:26:13,820 کہ سٹرنگ ایک ڈیٹا کی قسم تھا کہ CS50.h. میں آپ کے لئے پیدا کیا گیا تھا 496 00:26:13,820 --> 00:26:17,050 آپ شامل کرنے کے لئے ہے اس کا استعمال کرنے کے لئے cs50.h، میں. 497 00:26:17,050 --> 00:26:19,250 >> ویسے سٹرنگ صرف سچ ہے کسی چیز کے لئے ایک عرف 498 00:26:19,250 --> 00:26:23,600 ، چار * نامی ایک ایک کردار پوائنٹر. 499 00:26:23,600 --> 00:26:26,010 ویسے اشارہ، یاد، صرف خطاب ہیں. 500 00:26:26,010 --> 00:26:28,780 تو سائز کیا ہے ایک تار کی بائٹس میں؟ 501 00:26:28,780 --> 00:26:29,796 ویسے یہ چار یا آٹھ ہے. 502 00:26:29,796 --> 00:26:32,170 اور اس کی وجہ مجھے کہنا چار یا آٹھ اس کی وجہ سے اصل میں ہے 503 00:26:32,170 --> 00:26:36,730 آپ استعمال کر رہے ہیں تو، نظام پر انحصار کرتا ہے CS50 IDE، چار ایک چار * کا سائز ہے 504 00:26:36,730 --> 00:26:39,340 * یہ ایک 64 بٹ نظام ہے، آٹھ ہے. 505 00:26:39,340 --> 00:26:43,850 یاد میں ہر پتہ 64 بٹس طویل ہے. 506 00:26:43,850 --> 00:26:48,270 آپ CS50 آلات استعمال کر رہے ہیں یا کسی بھی 32 بٹ مشین کا استعمال کرتے ہوئے، 507 00:26:48,270 --> 00:26:51,640 اور آپ کو اس مدت 32 بٹ سنا ہے مشین، ایک 32 بٹ مشین کیا ہے؟ 508 00:26:51,640 --> 00:26:56,090 ویسے یہ صرف کا مطلب ہے کہ ہر یاد میں ایڈریس 32 بٹیں طویل ہے. 509 00:26:56,090 --> 00:26:59,140 اور اس طرح 32 بٹس چار بائٹس ہے. 510 00:26:59,140 --> 00:27:02,710 تو ایک چار * چار یا آٹھ ہے آپ کے سسٹم پر انحصار بائٹس. 511 00:27:02,710 --> 00:27:06,100 اور یقینا کسی بھی اعداد و شمار اقسام، اور کسی بھی اعداد و شمار کے ایک پوائنٹر 512 00:27:06,100 --> 00:27:12,030 تمام اشارہ صرف کے بعد، ٹائپ پتے، چار یا آٹھ بائٹس ہیں. 513 00:27:12,030 --> 00:27:14,030 تو اس پر نظرثانی کی اجازت تصویر اور کی نتیجہ اخذ دو 514 00:27:14,030 --> 00:27:18,130 یہاں ایک چھوٹی سی مشق کے ساتھ اس ویڈیو. 515 00:27:18,130 --> 00:27:21,600 لہذا ہم یہاں کے ساتھ چھوڑ دیا ہے آریھ ویڈیو کے آغاز میں. 516 00:27:21,600 --> 00:27:23,110 میں * پی = 35 کا کہنا ہے کہ اگر ایسا ہے تو اب کیا ہوگا؟ 517 00:27:23,110 --> 00:27:26,370 518 00:27:26,370 --> 00:27:30,530 تو یہ * پی = 35، جب میں کہتا ہوں کیا مطلب ہے؟ 519 00:27:30,530 --> 00:27:32,420 ایک دوسرے لے. 520 00:27:32,420 --> 00:27:34,990 * پی. 521 00:27:34,990 --> 00:27:39,890 یہاں سیاق و سباق میں، * ہے dereference آپریٹر. 522 00:27:39,890 --> 00:27:42,110 تو جب dereference ہے آپریٹر، استعمال کیا جاتا ہے 523 00:27:42,110 --> 00:27:48,520 ایڈریس کی طرف اشارہ کرنے کے لئے ہمیں جانا PK کی طرف سے، اور ہم مل کیا تبدیل. 524 00:27:48,520 --> 00:27:55,270 تو * پی = 35 مؤثر طریقے سے تصویر کے اس کرتا ہے. 525 00:27:55,270 --> 00:27:58,110 تو یہ syntactically ہے بنیادی طور پر ہے کے لئے ایک جیسی K = 35 نے کہا. 526 00:27:58,110 --> 00:28:00,740 527 00:28:00,740 --> 00:28:01,930 >> ایک اور. 528 00:28:01,930 --> 00:28:05,510 میں int میٹر کہتے ہیں، میں پیدا M نامی ایک نئی متغیر. 529 00:28:05,510 --> 00:28:08,260 ایک نیا باکس، یہ ایک سبز خانے کیونکہ یہ ایک عدد صحیح منعقد کرنے جا رہا ہے، 530 00:28:08,260 --> 00:28:09,840 اور یہ میٹر لیبل لگا رہا ہے. 531 00:28:09,840 --> 00:28:14,960 مجھے M = 4 کا کہنا ہے کہ، میں ایک ڈال اس باکس میں عددی. 532 00:28:14,960 --> 00:28:20,290 کہو PK = & M، کس طرح کرتا ہے تو اس تصویر تبدیل کریں؟ 533 00:28:20,290 --> 00:28:28,760 PK = & M، آپ کو کیا یاد کرنا اور آپریٹر کرتا ہے یا کہا جاتا ہے؟ 534 00:28:28,760 --> 00:28:34,430 کہ اور کچھ متغیر کا نام یاد رکھیں ایک متغیر کا نام پتہ ہے. 535 00:28:34,430 --> 00:28:38,740 تو کیا ہم کہہ رہے ہیں پی ایم کا پتہ ہو جاتا ہے. 536 00:28:38,740 --> 00:28:42,010 اور اس طرح مؤثر طریقے سے کیا ہوتا ہے آریھ کہ اب کوئی پوائنٹس PK ہے 537 00:28:42,010 --> 00:28:46,420 میٹر، لیکن پوائنٹس کشمیر سے. 538 00:28:46,420 --> 00:28:48,470 >> ایک بار پھر اشارہ بہت ہیں ساتھ مل کر کام کرنے کے لئے مشکل 539 00:28:48,470 --> 00:28:50,620 اور وہ ایک بہت لے پریکٹس، لیکن اس کی وجہ 540 00:28:50,620 --> 00:28:54,150 آپ کی اجازت دینے کی صلاحیت افعال کے درمیان ڈیٹا منتقل کرنے کی 541 00:28:54,150 --> 00:28:56,945 اور اصل میں ان لوگوں کو تبدیلیوں کا اثر لے، 542 00:28:56,945 --> 00:28:58,820 کے ارد گرد اپنے سر ہو رہی ہے بہت ضروری ہے. 543 00:28:58,820 --> 00:29:02,590 شاید یہ سب سے زیادہ پیچیدہ ہے ہم CS50 میں بات چیت موضوع، 544 00:29:02,590 --> 00:29:05,910 لیکن قیمت کہ آپ اشارہ استعمال کر رہے ہیں کی طرف سے حاصل 545 00:29:05,910 --> 00:29:09,200 دور پیچیدگیوں outweighs ہے کہ ان کے سیکھنے سے آتے ہیں. 546 00:29:09,200 --> 00:29:12,690 لہذا میں آپ کی سب سے بہترین کی خواہش قسمت اشارہ کے بارے میں سیکھنے. 547 00:29:12,690 --> 00:29:15,760 میں ڈوگ لایڈ ہوں، اس CS50 ہے. 548 00:29:15,760 --> 00:29:17,447