1 00:00:00,000 --> 00:00:03,381 >> [સંગીત વગાડવાનો] 2 00:00:03,381 --> 00:00:10,626 3 00:00:10,626 --> 00:00:11,610 >> [વિડિઓ પ્લેબેક] 4 00:00:11,610 --> 00:00:13,640 >> -કુલ બોલતી છે. 5 00:00:13,640 --> 00:00:14,380 >> -શેના વિષે? 6 00:00:14,380 --> 00:00:17,182 >> -મને ખબર નથી. 7 00:00:17,182 --> 00:00:19,990 >> અમે શું ખબર નથી -તેથી? 8 00:00:19,990 --> 00:00:23,145 >> 9:15, રે પર એટલે Santoya આ એટીએમ હતો. 9 00:00:23,145 --> 00:00:23,644 અરે વાહ. 10 00:00:23,644 --> 00:00:27,030 તેથી પ્રશ્ન શું છે તેમણે 9:16 ખાતે કરી હતી? 11 00:00:27,030 --> 00:00:29,720 >> કંઈક ખાતે 9 મિલિમીટરની -Shooting. 12 00:00:29,720 --> 00:00:31,540 કદાચ તેઓ આ સ્નાઈપર જોયું. 13 00:00:31,540 --> 00:00:33,412 >> -OR તેની સાથે કામ કરતો હતો. 14 00:00:33,412 --> 00:00:34,340 >> -Wait. 15 00:00:34,340 --> 00:00:36,200 પાછા એક જાઓ. 16 00:00:36,200 --> 00:00:36,975 >> -શું તમે જુઓ છો? 17 00:00:36,975 --> 00:00:44,400 18 00:00:44,400 --> 00:00:47,805 >> સંપૂર્ણ સ્ક્રીન તેમના ચહેરા લાવો. 19 00:00:47,805 --> 00:00:48,680 >> -His ચશ્મા. 20 00:00:48,680 --> 00:00:50,060 >> -ત્યાં એક પ્રતિબિંબ છે. 21 00:00:50,060 --> 00:01:00,455 22 00:01:00,455 --> 00:01:02,280 >> ઇટ Nuevitas બેઝબોલ ટીમ છે. 23 00:01:02,280 --> 00:01:03,110 કે તેમના લોગો છે. 24 00:01:03,110 --> 00:01:05,820 >> અને તેઓ સાથે વાત છે રહેલી વ્યકિત કે જેકેટ પહેર્યા છે. 25 00:01:05,820 --> 00:01:06,670 >> [સમાપ્ત પ્લેબેક] 26 00:01:06,670 --> 00:01:07,628 >> ડેવીડના MALAN: બધા અધિકાર. 27 00:01:07,628 --> 00:01:11,210 આ CS50 છે અને આ એક બીટ વધુ છે ના [અશ્રાવ્ય] જેની સાથે તમે છો 28 00:01:11,210 --> 00:01:12,890 સમસ્યા સાથે છીછરા ચાર સુયોજિત કરો. 29 00:01:12,890 --> 00:01:16,606 આજે આપણે થોડી વધુ જોવા માટે શરૂ કરો ઊંડે પોઇન્ટર કહેવાય આ વસ્તુઓ, 30 00:01:16,606 --> 00:01:18,480 તે છતાં પણ જે એક સુંદર Arcane વિષય, 31 00:01:18,480 --> 00:01:20,813 તે ચાલી રહ્યું છે કે બહાર વળે આ સાધન બની કે જેના દ્વારા અમે 32 00:01:20,813 --> 00:01:24,320 મકાન અને એસેમ્બલ શરૂ કરી શકો છો વધુ આધુનિક કાર્યક્રમો. 33 00:01:24,320 --> 00:01:28,150 પરંતુ અમે છેલ્લા બુધવારે પર હતી પ્રથમ કેટલાક ક્લેમેશન માર્ગ દ્વારા. 34 00:01:28,150 --> 00:01:30,190 તેથી આ રિકોલ છે Binky અને અમે તેને ઉપયોગ 35 00:01:30,190 --> 00:01:33,148 એક કાર્યક્રમ પર એક નજર કે ખરેખર કંઈપણ રસપ્રદ ન હતી, 36 00:01:33,148 --> 00:01:34,950 પરંતુ તે થોડા સમસ્યાઓ ઉઘાડી હતી. 37 00:01:34,950 --> 00:01:38,570 તેથી શા માટે અમે જવામાં નથી, આજે શરૂ કરવા માટે ઝડપથી આ પગલાંઓ થોડા મારફતે, 38 00:01:38,570 --> 00:01:41,920 માનવ શરતો distill કરવાનો પ્રયાસ બરાબર શું રહ્યું છે તે અહીં 39 00:01:41,920 --> 00:01:45,410 અને શા માટે આ ખરાબ છે, અને પછી પર ખસેડો અને ખરેખર કંઈક નિર્માણ શરૂ 40 00:01:45,410 --> 00:01:46,309 આ ટેકનિક સાથે? 41 00:01:46,309 --> 00:01:48,350 તેથી આ પ્રથમ હતા આ કાર્યક્રમ બે લીટીઓ 42 00:01:48,350 --> 00:01:51,340 અને સામાન્ય માણસ દ્રષ્ટિએ, શું આ બે લીટીઓ કરી રહ્યા છે? 43 00:01:51,340 --> 00:01:55,600 વ્યાજબી આરામદાયક છે જે કોઈને શું સ્ક્રીન પર જાહેર કરવામાં આવ્યું છે સાથે? 44 00:01:55,600 --> 00:01:58,340 45 00:01:58,340 --> 00:02:00,120 કરી આ બે લીટીઓ શું છે? 46 00:02:00,120 --> 00:02:02,070 તે બધા નથી કે સપ્તાહ એક અલગ, 47 00:02:02,070 --> 00:02:03,611 પરંતુ કેટલાક નવા ખાસ પ્રતીક છે. 48 00:02:03,611 --> 00:02:04,152 અરે વાહ? 49 00:02:04,152 --> 00:02:05,628 ત્યાં પાછા. 50 00:02:05,628 --> 00:02:07,092 >> પ્રેક્ષક: પોઇંટરો જાહેર? 51 00:02:07,092 --> 00:02:08,050 ડેવીડના MALAN: ફરીથી કહો? 52 00:02:08,050 --> 00:02:08,860 પ્રેક્ષક: પોઇંટરો જાહેર? 53 00:02:08,860 --> 00:02:11,776 ડેવીડના MALAN: જાહેર પોઇંટરો અને માતાનો એક થોડુંક વધુ રિફાઇન દો. 54 00:02:11,776 --> 00:02:14,050 AUDIENCE: [અશ્રાવ્ય] સરનામું એક્સ અને વાય પછી. 55 00:02:14,050 --> 00:02:15,300 ડેવીડના MALAN: અને પછી સંબોધવા. 56 00:02:15,300 --> 00:02:18,550 તેથી ખાસ અમે શું કરી રહ્યાં છો અમે બે ચલો જાહેર કરવામાં આવે છે. 57 00:02:18,550 --> 00:02:21,252 આ ચલો, જોકે, જવું છે પ્રકાર પૂર્ણાંક સ્ટાર છે, હોઈ જે 58 00:02:21,252 --> 00:02:23,210 વધુ ખાસ અર્થ થાય છે તેઓ સંગ્રહવા માટે જતા હોય છે 59 00:02:23,210 --> 00:02:26,450 પૂર્ણાંક સરનામું, અનુક્રમે, એક્સ અને વાય. 60 00:02:26,450 --> 00:02:27,660 હવે કોઈ મૂલ્ય છે? 61 00:02:27,660 --> 00:02:32,621 આ કોઈપણ વાસ્તવિક સરનામાં આપવામાં આવ્યાં છે સમય આ બિંદુએ બે ચલો? 62 00:02:32,621 --> 00:02:33,120 નંબર 63 00:02:33,120 --> 00:02:35,030 તે માત્ર કચરો કિંમતો જેથી-કહેવાય છે. 64 00:02:35,030 --> 00:02:38,120 તમે ખરેખર ફાળવશો નહી તો રેમ હતી ગમે ચલ, 65 00:02:38,120 --> 00:02:42,224 અગાઉ zeros સાથે ભરો રહ્યું છે અને મુદ્દાઓ તે ચલો બંને. 66 00:02:42,224 --> 00:02:44,140 પરંતુ અમે હજુ સુધી ખબર નથી શું તેઓ હોય છે અને તે છે 67 00:02:44,140 --> 00:02:47,060 શા માટે Binky કી હોઈ ચાલે છેલ્લા અઠવાડિયે તેના માથા ગુમાવી હતી. 68 00:02:47,060 --> 00:02:49,980 >> તેથી આ ક્લેમેશન હતી આ અવતાર 69 00:02:49,980 --> 00:02:53,580 જેમાં તમે માત્ર બે ચલો હોય છે, માટી થોડી પરિપત્ર ટુકડાઓ, 70 00:02:53,580 --> 00:02:57,330 કે ચલો સંગ્રહ છે, પરંતુ કરી શકો છો આ આવરિત તીર સૂચવે છે, 71 00:02:57,330 --> 00:03:00,640 તેઓ ખરેખર પોઇન્ટ કરી રહ્યાં છો ગમે ત્યાં સે દીઠ ઓળખાય છે. 72 00:03:00,640 --> 00:03:03,670 તેથી તો અમે આ વાક્ય હતી, અને આ મેમરી માટે હતી નવા છેલ્લા અઠવાડિયે, malloc 73 00:03:03,670 --> 00:03:07,130 માત્ર એક ફેન્સી માર્ગ છે જે ફાળવણી, ઓપરેટિંગ સિસ્ટમ કહેવાની Linux ની 74 00:03:07,130 --> 00:03:09,750 અથવા મેક ઓએસ અથવા Windows, અરે, મને અમુક મેમરી આપે છે, 75 00:03:09,750 --> 00:03:11,780 અને તમારી પાસે બધા કહેવું ઓપરેટિંગ સિસ્ટમ 76 00:03:11,780 --> 00:03:14,699 મેમરી માટે પૂછતી ત્યારે તે છે. 77 00:03:14,699 --> 00:03:16,990 તે શું કાળજી નથી ચાલી રહ્યું છે તમે તેની સાથે કરવા જઇ રહ્યા છો 78 00:03:16,990 --> 00:03:19,786 પરંતુ જો તમે ઓપરેટિંગ કહેવું જરૂર નથી શું malloc માર્ગ દ્વારા સિસ્ટમ. 79 00:03:19,786 --> 00:03:20,286 અરે વાહ? 80 00:03:20,286 --> 00:03:21,078 >> પ્રેક્ષક: કેટલી? 81 00:03:21,078 --> 00:03:21,994 ડેવીડના MALAN: કેટલી? 82 00:03:21,994 --> 00:03:25,280 કેટલી બાઇટ્સ, અને તેથી, આ, ફરીથી, એક contrived ઉદાહરણ તરીકે, માત્ર કહે છે કે, 83 00:03:25,280 --> 00:03:27,360 મને પૂર્ણાંક માપ આપે છે. 84 00:03:27,360 --> 00:03:30,550 પૂર્ણાંક હવે, કદ ચાર બાઇટ્સ અથવા 32 બિટ્સ છે. 85 00:03:30,550 --> 00:03:32,850 તેથી આ માત્ર એક રસ્તો છે કહે છે કે, અરે, ઓપરેટિંગ સિસ્ટમ, 86 00:03:32,850 --> 00:03:37,290 મને મેમરી ચાર બાઇટ્સ આપી હું મારા આગળના ઉપયોગ કરી શકો છો, 87 00:03:37,290 --> 00:03:40,560 અને ખાસ કરીને, શું કરે છે આદર સાથે malloc પાછા 88 00:03:40,560 --> 00:03:41,795 ચાર બાઇટ્સ કે ચંકને માટે? 89 00:03:41,795 --> 00:03:44,110 90 00:03:44,110 --> 00:03:44,860 પ્રેક્ષક: સરનામું? 91 00:03:44,860 --> 00:03:45,901 ડેવીડના MALAN: આ સરનામું. 92 00:03:45,901 --> 00:03:47,580 ચાર બાઇટ્સ કે ચંકને ઓફ સરનામું. 93 00:03:47,580 --> 00:03:48,190 ચોક્કસ. 94 00:03:48,190 --> 00:03:51,430 અને જેથી આખરે સંગ્રહિત છે તે છે અમે ખરેખર નથી શા માટે એક્સ અને તે છે 95 00:03:51,430 --> 00:03:55,240 કાળજી કે શું સંખ્યા તે ox1 અથવા ox2 શું સરનામું છે 96 00:03:55,240 --> 00:03:57,110 અથવા અમુક ભેદી હેક્સાડેસિમલ સરનામું. 97 00:03:57,110 --> 00:03:59,850 અમે હમણાં જ pictorially કાળજી કે ચલ x હવે છે 98 00:03:59,850 --> 00:04:01,630 મેમરી કે ભાગ તરફ ઇશારો. 99 00:04:01,630 --> 00:04:05,570 જેથી તીર નિર્દેશક રજૂ કરે છે, અથવા વધુ ખાસ રીતે, એક મેમરી સરનામું. 100 00:04:05,570 --> 00:04:09,120 પરંતુ ફરીથી, અમે સામાન્ય રીતે કાળજી નથી તે વાસ્તવિક સરનામાં શું છે. 101 00:04:09,120 --> 00:04:11,780 હવે, આ વાક્ય કહે છે શું સામાન્ય માણસ દ્રષ્ટિએ? 102 00:04:11,780 --> 00:04:14,330 સ્ટાર એક્સ 42 અર્ધવિરામ નહીં. 103 00:04:14,330 --> 00:04:17,390 આ શું અર્થ છે? 104 00:04:17,390 --> 00:04:18,200 તમે જાઓ wanna? 105 00:04:18,200 --> 00:04:20,102 તમારી ગરદન ખંજવાળી નથી. 106 00:04:20,102 --> 00:04:22,360 >> પ્રેક્ષક: x ની સરનામું 42 છે. 107 00:04:22,360 --> 00:04:24,300 >> ડેવીડના MALAN: x ની સરનામું 42 છે. 108 00:04:24,300 --> 00:04:25,190 તદ્દન નથી. 109 00:04:25,190 --> 00:04:28,485 તેથી બંધ નથી, પરંતુ તદ્દન ત્યાં છે, કારણ કે આ એક્સ prefixing છે કે સ્ટાર. 110 00:04:28,485 --> 00:04:29,860 તેથી અમે થોડી ઝટકો જરૂર છે. 111 00:04:29,860 --> 00:04:31,032 અરે વાહ? 112 00:04:31,032 --> 00:04:36,044 >> પ્રેક્ષક: કિંમત કે નિર્દેશક એક્સ 42 પોઇન્ટ છે. 113 00:04:36,044 --> 00:04:36,710 ડેવીડના MALAN: બરાબર. 114 00:04:36,710 --> 00:04:40,840 નિર્દેશક કે જે x કિંમત 42 હોઈ છે, ચાલો કહે દો રહેશે પોઇન્ટ, 115 00:04:40,840 --> 00:04:44,165 અથવા, તારો બીજી રીતે મૂકી X ગમે સરનામા પર જાઓ, કહે છે 116 00:04:44,165 --> 00:04:48,340 તે 1 ઓક્સફર્ડ, શું એક્સ છે સ્ટ્રીટ અથવા 33 ઓક્સફર્ડ સ્ટ્રીટ 117 00:04:48,340 --> 00:04:51,850 અથવા ox1 અથવા ox33, ગમે , આંકડાકીય સરનામું છે જે 118 00:04:51,850 --> 00:04:54,380 સ્ટાર એક્સ x ની dereferencing છે. 119 00:04:54,380 --> 00:04:57,297 તેથી તે સરનામા પર જાઓ અને પછી ત્યાં 42 નંબર મૂકો. 120 00:04:57,297 --> 00:04:59,380 તેથી તે હશે એક કહે છે કે સમકક્ષ રીતે. 121 00:04:59,380 --> 00:05:01,860 તેથી તે બધા દંડ અને પછી અમે ચિત્ર પ્રતિનિધિત્વ કરશે 122 00:05:01,860 --> 00:05:05,370 નીચે પ્રમાણે અમે ઉમેર્યા છે જ્યાં ચાર કે ભાગ માટે 42 123 00:05:05,370 --> 00:05:09,370 , જમણી બાજુ પર બાઇટ્સ પરંતુ વસ્તુઓ અવળું થયું છે આ વાક્ય હતું 124 00:05:09,370 --> 00:05:11,120 અને માતાનો Binky વડા પોપ આ બિંદુએ બોલ 125 00:05:11,120 --> 00:05:15,290 ખરાબ વસ્તુઓ થાય છે જ્યારે કારણ કે તમે કચરો કિંમતો ખોટો સંદર્ભ 126 00:05:15,290 --> 00:05:18,210 અમાન્ય ખોટો સંદર્ભ તમે અથવા પોઇન્ટર, અને હું અમાન્ય કહે 127 00:05:18,210 --> 00:05:21,020 કારણ કે આ બિંદુએ વાર્તા, વાય ની અંદર શું છે? 128 00:05:21,020 --> 00:05:24,440 આધારિત વાય ની કિંમત શું છે છેલ્લા થોડા પગલાંઓ પર? 129 00:05:24,440 --> 00:05:25,360 અરે વાહ? 130 00:05:25,360 --> 00:05:26,115 તે શું છે? 131 00:05:26,115 --> 00:05:26,990 >> પ્રેક્ષક: એક સરનામું. 132 00:05:26,990 --> 00:05:28,460 ડેવીડના MALAN: એક સરનામું. 133 00:05:28,460 --> 00:05:31,910 તે સરનામું હોવું જોઈએ પરંતુ હું તે આરંભ છે? 134 00:05:31,910 --> 00:05:32,800 તેથી હું હજી સુધી ન હોય. 135 00:05:32,800 --> 00:05:35,430 તેથી ત્યાં હોઈ શું ઓળખાય છે? 136 00:05:35,430 --> 00:05:37,590 તે માત્ર કેટલાક કચરો કિંમત છે. 137 00:05:37,590 --> 00:05:41,500 તે શૂન્ય થી કોઇ સરનામું, પોસ્ટ કરી શકે 2 અબજ તમે RAM ની બે શોના હોય તો, 138 00:05:41,500 --> 00:05:44,289 અથવા શૂન્ય અબજ 4 તમે કરેલા જો RAM ની ચાર ગીગાબાઇટ્સ મળી. 139 00:05:44,289 --> 00:05:46,080 તે કેટલાક કચરો કિંમત છે પરંતુ શું સમસ્યા છે 140 00:05:46,080 --> 00:05:48,200 ઓપરેટિંગ સિસ્ટમ છે, તો તમને આપવામાં ન હોય તો 141 00:05:48,200 --> 00:05:51,140 મેમરી કે ભાગ ખાસ તમે જવા માટે પ્રયાસ કરી રહ્યાં છો કે જે, 142 00:05:51,140 --> 00:05:54,650 તે સામાન્ય રીતે શું કારણ રહ્યું છે અમે એક segmentation fault તરીકે જોઇ છે. 143 00:05:54,650 --> 00:05:57,810 તેથી હકીકતમાં, તમે કોઇ પણ ધરાવતા ઓફિસ કલાકો સમસ્યાઓ પર સંઘર્ષ 144 00:05:57,810 --> 00:06:00,393 અથવા સમસ્યાઓ કે જે વધુ છે સામાન્ય રીતે બહાર આકૃતિ કરવાનો પ્રયાસ સાથે 145 00:06:00,393 --> 00:06:02,150 સેગ્મેન્ટેશન ક્ષતિમાં, તે સામાન્ય અર્થ થાય છે 146 00:06:02,150 --> 00:06:05,017 તમે એક સેગમેન્ટ સ્પર્શ કરી રહ્યાં છો તમે ન હોવી જોઈએ કે મેમરી. 147 00:06:05,017 --> 00:06:07,350 તમે મેમરી સ્પર્શ કરી રહ્યાં છો કે ઓપરેટિંગ સિસ્ટમ નથી 148 00:06:07,350 --> 00:06:10,450 તે શું તમે સ્પર્શ કરવાની પરવાનગી તમારા એરે માં ખૂબ દૂર જઈને 149 00:06:10,450 --> 00:06:12,870 અથવા, શું હવે શરૂ તમે સ્પર્શ કરી રહ્યાં છો કારણ કે 150 00:06:12,870 --> 00:06:14,780 માત્ર કેટલાક કચરો કિંમત છે કે મેમરી. 151 00:06:14,780 --> 00:06:18,230 >> તેથી અહીં સ્ટાર એક્સ કરી છે અવ્યાખ્યાયિત વર્તન જેવું. 152 00:06:18,230 --> 00:06:22,030 તમે તેને મતભેદ છે કારણ કે ક્યારેય કરવું જોઈએ આ કાર્યક્રમ માત્ર તૂટી રહ્યું છે છે, 153 00:06:22,030 --> 00:06:24,050 તમે કહી રહ્યાં છે કે, આ સરનામા પર જાઓ 154 00:06:24,050 --> 00:06:27,000 અને તમે કોઈ વિચાર જ્યાં છે તે સરનામું ખરેખર છે. 155 00:06:27,000 --> 00:06:30,300 તેથી ઓપરેટિંગ સિસ્ટમ શક્યતા છે તમારા કાર્યક્રમ તૂટી રહ્યું 156 00:06:30,300 --> 00:06:33,840 પરિણામે અને ખરેખર, કે છે શું Binky ત્યાં થયું. 157 00:06:33,840 --> 00:06:37,210 તેથી છેવટે, Binky નિશ્ચિત આ સાથે આ સમસ્યા નથી. 158 00:06:37,210 --> 00:06:38,909 કે કાર્યક્રમ જેથી પોતે અપૂર્ણ હતો. 159 00:06:38,909 --> 00:06:41,450 પરંતુ તમે સૉર્ટ આગળ બનાવટ તો અને તેને બદલે આ વાક્ય ચલાવવા, 160 00:06:41,450 --> 00:06:45,580 વાય માત્ર એક્સ બરાબર અર્થ એ થાય ગમે સરનામું એક એક્સ છે, પણ વાય માં મૂકેલ છે. 161 00:06:45,580 --> 00:06:48,740 >> અને તેથી pictorially, અમે કર્યું બે તીર સાથે આ રજૂ 162 00:06:48,740 --> 00:06:51,570 X અને વાય પોઇન્ટ થી તે જ સ્થળે. 163 00:06:51,570 --> 00:06:55,760 તેથી અર્થનિર્ધારણ, એક્સ સમાન છે વાય તે બંને કારણ કે 164 00:06:55,760 --> 00:07:00,300 એ જ સંગ્રહિત કરવામાં આવે છે સરનામું લીધે, 42 પોઇન્ટ 165 00:07:00,300 --> 00:07:04,910 અને હવે, જ્યારે તમે સ્ટાર કહે છે વાય, વાય માં સરનામા પર જાઓ 166 00:07:04,910 --> 00:07:06,790 આ એક રસપ્રદ આડ અસર છે. 167 00:07:06,790 --> 00:07:10,320 તેથી વાય માં સરનામું X માં સરનામા તરીકે જ વસ્તુ. 168 00:07:10,320 --> 00:07:15,060 તેથી જો તમે સરનામા માટે જવા કહે છે અને વાય 13 કિંમત ને બદલવા, 169 00:07:15,060 --> 00:07:17,140 જે બીજા અસર થઈ છે? 170 00:07:17,140 --> 00:07:21,100 એક્સ, બિંદુ D, તેથી વાત કરવા માટે છે તેમજ અસર જોઇએ. 171 00:07:21,100 --> 00:07:24,340 >> અને ખરેખર, કેવી રીતે નિક આ ચિત્ર દોર્યું ક્લેમેશન બરાબર હતી. 172 00:07:24,340 --> 00:07:28,665 અમે નિર્દેશક અનુસરો, તેમ છતાં વાય, અમે એ જ જગ્યાએ અંત 173 00:07:28,665 --> 00:07:32,780 અને તેથી અમે છાપો કરવામાં આવે તો એક્સ અથવા વાય માતાનો pointee બહાર, 174 00:07:32,780 --> 00:07:35,720 પછી અમે 13 ની કિંમત જોઈ શકે છે. 175 00:07:35,720 --> 00:07:37,927 હવે, હું pointee હોઈ કહે આ વિડિઓ સાથે સુસંગત. 176 00:07:37,927 --> 00:07:39,760 પ્રોગ્રામર્સ, મારા જ્ઞાન, ખરેખર ક્યારેય 177 00:07:39,760 --> 00:07:42,460 શબ્દ pointee કહે છે, પોઇન્ટેડ છે કે જે 178 00:07:42,460 --> 00:07:44,650 છે, પરંતુ સુસંગતતા માટે આ વિડિઓ સાથે ખ્યાલ 179 00:07:44,650 --> 00:07:47,520 કે હતી તે બધા છે તે પરિસ્થિતિમાં થતો હતો. 180 00:07:47,520 --> 00:07:54,190 ક્લેમેશન પર તેથી કોઇ પ્રશ્નો અથવા પોઇન્ટર અથવા malloc હજી સુધી? 181 00:07:54,190 --> 00:07:54,850 કોઈ? 182 00:07:54,850 --> 00:07:55,470 બધા અધિકાર. 183 00:07:55,470 --> 00:07:58,560 >> જેથી વધુ વગર ધમાલ, માતાનો એક નજર કરીએ 184 00:07:58,560 --> 00:08:00,700 આ ખરેખર છે જ્યાં કેટલાક સમય માટે ઉપયોગ કરવામાં આવે. 185 00:08:00,700 --> 00:08:03,580 તેથી અમે આ CS50 પુસ્તકાલય પડ્યું કે આ તમામ કાર્યોને મળ્યું છે. 186 00:08:03,580 --> 00:08:06,810 અમે, GetInt GetString ઘણો ઉપયોગ કર્યો કદાચ અગાઉ GetLongLong 187 00:08:06,810 --> 00:08:09,840 મારા pset એક અથવા તેથી, પરંતુ ખરેખર શું થઈ રહ્યું કરવામાં આવી છે? 188 00:08:09,840 --> 00:08:12,920 વેલ, એક ઝડપી નજર કરીએ એક કાર્યક્રમમાં હૂડ નીચે કે 189 00:08:12,920 --> 00:08:17,017 અમે તમને આ CS50 આપે શા માટે પ્રેરણા લાઇબ્રેરી છે, અને ખરેખર છેલ્લા અઠવાડિયે તરીકે, 190 00:08:17,017 --> 00:08:18,850 અમે તે લેવા શરૂ તાલીમ વ્હીલ્સ બંધ. 191 00:08:18,850 --> 00:08:21,080 તેથી હવે આ છટણી કરવામાં આવે છે એક પોસ્ટમોર્ટમ શું 192 00:08:21,080 --> 00:08:23,690 છે ચાલુ કરવામાં આવી CS50 પુસ્તકાલય અંદર, 193 00:08:23,690 --> 00:08:27,250 આપણે હવે ખસેડવાની શરૂ કરશે, તેમ છતાં તેને દૂર મોટા ભાગના કાર્યક્રમો માટે. 194 00:08:27,250 --> 00:08:29,460 >> તેથી આ 0 scanf કહેવાય કાર્યક્રમ છે. 195 00:08:29,460 --> 00:08:30,510 તે સુપર ટૂંકા છે. 196 00:08:30,510 --> 00:08:33,909 તે માત્ર આ રેખાઓ છે, પરંતુ તે એક કાર્ય કહેવાય scanf પરિચય 197 00:08:33,909 --> 00:08:36,909 અમે ખરેખર જોવા માટે જઈ રહ્યાં છો કે CS50 પુસ્તકાલય ની અંદર એક ક્ષણ, 198 00:08:36,909 --> 00:08:38,600 થોડા અલગ સ્વરૂપમાં યદ્યપિ. 199 00:08:38,600 --> 00:08:41,330 વાક્ય પર 16 તેથી આ કાર્યક્રમ એક ચલ x જાહેર કરવામાં આવે છે. 200 00:08:41,330 --> 00:08:43,150 તેથી મને પૂર્ણાંક માટે ચાર બાઇટ્સ આપે છે. 201 00:08:43,150 --> 00:08:45,750 તે વપરાશકર્તા કહેવાની કરવામાં આવી છે નંબર કૃપા કરીને, અને પછી 202 00:08:45,750 --> 00:08:49,010 આ એક રસપ્રદ વાક્ય છે કે ખરેખર છેલ્લા અઠવાડિયે મળીને જોડાણ 203 00:08:49,010 --> 00:08:49,790 અને આ. 204 00:08:49,790 --> 00:08:53,230 Scanf, અને પછી તે એક લે નોટિસ ફોર્મેટ સ્ટ્રિંગ, માત્ર printf જેમ, 205 00:08:53,230 --> 00:08:57,480 % હું પૂર્ણાંક અર્થ થાય છે, અને પછી તે લે છે થોડી લાગે છે, જે બીજી દલીલ 206 00:08:57,480 --> 00:08:58,260 ફંકી. 207 00:08:58,260 --> 00:09:01,880 તે 'ચિન્હ એક્સ, અને યાદ કરવા માટે, અમે માત્ર આ એક વાર ગયા સપ્તાહે જોયું. 208 00:09:01,880 --> 00:09:03,465 નું ચિહ્ન એક્સ શું પ્રતિનિધિત્વ કરે છે? 209 00:09:03,465 --> 00:09:06,210 210 00:09:06,210 --> 00:09:08,450 નું ચિહ્ન સી શું કરે છે? 211 00:09:08,450 --> 00:09:08,950 અરે વાહ? 212 00:09:08,950 --> 00:09:10,024 >> પ્રેક્ષક: આ સરનામું. 213 00:09:10,024 --> 00:09:11,190 ડેવીડના MALAN: આ સરનામું. 214 00:09:11,190 --> 00:09:13,190 તેથી તે વિપરીત છે સ્ટાર ઓપરેટર, 215 00:09:13,190 --> 00:09:17,270 તારો ઓપરેટર કહે છે, જ્યારે પર જાઓ આ સરનામું ચિન્હ ઓપરેટર 216 00:09:17,270 --> 00:09:20,280 બહાર આકૃતિ, કહે છે આ ચલ સરનામું, 217 00:09:20,280 --> 00:09:23,530 અને તેથી આ છે, કારણ કે કી છે જીવનમાં scanf હેતુ 218 00:09:23,530 --> 00:09:26,320 વપરાશકર્તાની સ્કેન કરવા માટે છે કીબોર્ડ તરફથી ઇનપુટ, 219 00:09:26,320 --> 00:09:29,970 ગમે પર આધાર રાખીને તે અથવા તેણી પ્રકારો, અને પછી તે વપરાશકર્તાની ઇનપુટ વાંચો 220 00:09:29,970 --> 00:09:32,970 એક ચલ માં છે, પરંતુ અમે છેલ્લા બે અઠવાડિયામાં જોયું 221 00:09:32,970 --> 00:09:36,080 કે સ્વેપ કાર્ય કે અમે અમલ કરવા માટે વિના પ્રયાસે પ્રયાસ કર્યો 222 00:09:36,080 --> 00:09:37,110 માત્ર ભાંગી હતી. 223 00:09:37,110 --> 00:09:42,470 સ્વેપ કાર્ય સાથે જણાવ્યું હતું કે, અમે ફક્ત ints તરીકે A અને B જાહેર, તો 224 00:09:42,470 --> 00:09:47,040 અમે સફળતાપૂર્વક સ્વેપ હતી સ્વેપ ની અંદર બે ચલો 225 00:09:47,040 --> 00:09:50,080 માત્ર દૂધ અને OJ સાથે ગમે, પરંતુ સ્વેપ પરત જલદી 226 00:09:50,080 --> 00:09:55,200 આદર સાથે એનું શું પરિણામ આવ્યું એક્સ અને વાય માટે, મૂળ કિંમતો? 227 00:09:55,200 --> 00:09:55,700 કંઈ નથી. 228 00:09:55,700 --> 00:09:56,200 યાહ. 229 00:09:56,200 --> 00:09:59,754 કંઈ કારણ કે સમય થયું અદલબદલ, માત્ર તેના સ્થાનિક નકલો બદલવા 230 00:09:59,754 --> 00:10:01,670 બધા કહે છે કે જે આ જ સમયે, જ્યારે અમે કર્યું 231 00:10:01,670 --> 00:10:04,010 દલીલો માં પસાર કરવામાં કાર્યો કરવા માટે, અમે છો 232 00:10:04,010 --> 00:10:05,939 માત્ર તે દલીલો નકલો પસાર. 233 00:10:05,939 --> 00:10:07,980 તમે તે સાથે કરી શકો છો તમે તેમની સાથે જે કરવા માંગો છો, 234 00:10:07,980 --> 00:10:10,890 પરંતુ તેઓ કોઈ હોય રહ્યા છીએ મૂળ કિંમતો પર અસર. 235 00:10:10,890 --> 00:10:13,650 તેથી આ જો તમે સમસ્યારૂપ છે scanf જેમ કાર્ય છે કરવા માંગો છો 236 00:10:13,650 --> 00:10:17,170 જીવન માં જેની હેતુ સ્કેન કરવા માટે છે કીબોર્ડ વપરાશકર્તાની ઇનપુટ 237 00:10:17,170 --> 00:10:22,010 અને પછી, જેથી બ્લેન્ક ભરો વાત છે, કે જે, એક્સ જેવી ચલ આપી 238 00:10:22,010 --> 00:10:25,410 નીચેની હું હતા કારણ કે જો માત્ર scanf માટે એક્સ પસાર કરવા માટે, 239 00:10:25,410 --> 00:10:28,790 તમે છેલ્લા તર્ક ધ્યાનમાં જો સપ્તાહ, scanf તે ઇચ્છે ગમે તે કરી શકે 240 00:10:28,790 --> 00:10:33,100 X ની નકલ સાથે, પરંતુ તે ન કરી શકે અમે આપી જ્યાં સુધી કાયમ એક્સ બદલી 241 00:10:33,100 --> 00:10:37,120 , તેથી વાત કરવા માટે, એક ખજાનો નકશો scanf X હાજર કરે છે, જ્યાં જેમાં 242 00:10:37,120 --> 00:10:41,860 અમે તેથી x ની સરનામું પાસ scanf ત્યાં અને ખરેખર ફેરફાર જઈ શકે છે 243 00:10:41,860 --> 00:10:42,920 x ની કિંમત. 244 00:10:42,920 --> 00:10:45,080 અને તેથી ખરેખર, બધા આ કાર્યક્રમ કરે છે 245 00:10:45,080 --> 00:10:53,180 હું મારા સ્ત્રોત scanf 0 કરો તો 5m ડિરેક્ટરી, scanf 0 બનાવે છે, 246 00:10:53,180 --> 00:10:57,730 કોઈ scanf સ્લેશ, નંબર 50, કૃપા કરીને 50 માટે આભાર. 247 00:10:57,730 --> 00:11:01,020 >> તેથી તે છે કે જે બધી રસપ્રદ નથી પરંતુ ખરેખર શું થઈ રહ્યું છે 248 00:11:01,020 --> 00:11:04,820 જલદી હું કૉલ છે અહીં x ની કિંમત scanf 249 00:11:04,820 --> 00:11:06,410 કાયમી બદલાઈ રહી છે. 250 00:11:06,410 --> 00:11:08,335 હવે, આ સરસ લાગે છે અને સારા, અને હકીકતમાં, તે 251 00:11:08,335 --> 00:11:11,200 અમે ખરેખર જરૂર નથી જેવી લાગે છે બધા હવે અંતે આ CS50 પુસ્તકાલય. 252 00:11:11,200 --> 00:11:13,960 હમણાં પૂરતું, માતાનો ચલાવો અહીં આ વધુ એક વખત. 253 00:11:13,960 --> 00:11:15,750 મને એક બીજા માટે તે ફરી શરૂ કરીએ. 254 00:11:15,750 --> 00:11:20,600 ચાલો એક નંબર પ્રયાસ કરીએ કરો અને તેના બદલે પહેલાં જેવી 50 કહેતા, 255 00:11:20,600 --> 00:11:22,810 આપણે માત્ર કોઈ કહે દો. 256 00:11:22,810 --> 00:11:24,000 ઠીક છે, કે થોડો વિચિત્ર છે. 257 00:11:24,000 --> 00:11:25,270 ઠીક છે. 258 00:11:25,270 --> 00:11:28,680 અહીં અને માત્ર કેટલાક નોનસેન્સ. 259 00:11:28,680 --> 00:11:31,170 તેથી તે લાગતું નથી ભૂલભરેલા પરિસ્થિતિ હાથ ધરે છે. 260 00:11:31,170 --> 00:11:33,620 તેથી અમે શરૂઆત ઓછા કરવાની જરૂર છે કેટલાક ભૂલ ચકાસણી ઉમેરી રહ્યા છે 261 00:11:33,620 --> 00:11:37,460 વપરાશકર્તા છે તેની ખાતરી કરવા માટે 50 જેમ એક વાસ્તવિક નંબર લખ્યો, 262 00:11:37,460 --> 00:11:40,720 દેખીતી રીતે લખીને શબ્દો કારણ કે સમસ્યાવાળા તરીકે શોધી નથી, 263 00:11:40,720 --> 00:11:42,020 પરંતુ તે કદાચ પ્રયત્ન કરીશું. 264 00:11:42,020 --> 00:11:46,450 >> હવે તે છે આ આવૃત્તિ જુઓ મારા પ્રયાસ GetString reimplement છે. 265 00:11:46,450 --> 00:11:48,437 Scanf આ છે તો વિધેય માં બાંધવામાં 266 00:11:48,437 --> 00:11:51,270 શા માટે આપણે આ સાથે છીછરા કરવામાં આવી છે GetString જેવા તાલીમ વ્હીલ્સ? 267 00:11:51,270 --> 00:11:55,450 ઠીક છે, અહીં કદાચ મારી પોતાની છે GetString સરળ આવૃત્તિ 268 00:11:55,450 --> 00:12:00,766 જેમાં એક સપ્તાહ પહેલાં, હું જણાવ્યું હતું કે હોઈ શકે છે, મને શબ્દમાળા આપે છે અને તે બફર કૉલ કરો. 269 00:12:00,766 --> 00:12:03,390 આજે, હું હમણાં જ શરૂ જાઉં છું , ચાર સ્ટાર છે, કે જે, સ્મૃતિ કહે છે 270 00:12:03,390 --> 00:12:04,400 તે માત્ર પર્યાય છે. 271 00:12:04,400 --> 00:12:06,629 તે scarier લાગે છે પરંતુ તે છે ચોક્કસ જ વસ્તુ. 272 00:12:06,629 --> 00:12:09,420 તેથી મને એક ચલ કહેવાય બફર આપી કે શબ્દમાળા સ્ટોર ચાલી રહ્યું છે, 273 00:12:09,420 --> 00:12:12,780 , વપરાશકર્તા શબ્દમાળા કૃપા કરીને કહી અને પછી, ફક્ત પહેલા જેવી, 274 00:12:12,780 --> 00:12:17,760 ચાલો આ પાઠ ઉધાર પ્રયાસ કરીએ scanf % S આ સમય અને પછી બફર પાસ. 275 00:12:17,760 --> 00:12:19,310 હવે, ઝડપી સેનીટી તપાસો. 276 00:12:19,310 --> 00:12:22,120 હું શા માટે નથી કહેતા છું નું ચિહ્ન આ સમય બફર? 277 00:12:22,120 --> 00:12:25,190 278 00:12:25,190 --> 00:12:26,625 અગાઉના ઉદાહરણ પરથી અનુમાન દોરવું. 279 00:12:26,625 --> 00:12:28,000 પ્રેક્ષક: ચાર સ્ટાર નિર્દેશક છે. 280 00:12:28,000 --> 00:12:29,920 ડેવીડના MALAN: બરાબર છે, આ જ સમયે, ઘરનાં પરચૂરણ કામો, કારણ કે 281 00:12:29,920 --> 00:12:34,080 સ્ટાર, પહેલેથી જ એક નિર્દેશક, એક સરનામું છે ત્યાં છે કે સ્ટાર ઓફ વ્યાખ્યા દ્વારા. 282 00:12:34,080 --> 00:12:37,530 અને scanf એક સરનામું અપેક્ષા તો, તે માત્ર બફર પાસ પૂરતા છે. 283 00:12:37,530 --> 00:12:39,260 હું 'ચિન્હ બફર કહે જરૂર નથી. 284 00:12:39,260 --> 00:12:42,177 વિચિત્ર માટે, તમે કરી શકે આ કંઈક આવું. 285 00:12:42,177 --> 00:12:43,510 તેને અલગ અલગ અર્થ હોય છે. 286 00:12:43,510 --> 00:12:47,240 આ તમે એક નિર્દેશક આપશે ખરેખર છે કે જે નિર્દેશક માટે 287 00:12:47,240 --> 00:12:50,050 સી, પરંતુ માટે માન્ય વસ્તુ હવે, ચાલો તેને સરળ રાખવા દો 288 00:12:50,050 --> 00:12:51,750 અને સતત વાર્તા રાખો. 289 00:12:51,750 --> 00:12:54,100 હું માત્ર પાસ જાઉં છું બફર અને તે સાચું છે. 290 00:12:54,100 --> 00:12:56,487 છતાં આ સમસ્યા આ છે. 291 00:12:56,487 --> 00:12:58,820 મને આગળ વધો અને આ ચલાવો તે સંકલન પછી કાર્યક્રમ. 292 00:12:58,820 --> 00:13:00,902 Scanf 1 બનાવો. 293 00:13:00,902 --> 00:13:02,610 ખરેખર તે મારા કમ્પાઇલર મારી ભૂલ મોહક. 294 00:13:02,610 --> 00:13:04,090 મને એક બીજા આપો. 295 00:13:04,090 --> 00:13:05,460 રણકાર. 296 00:13:05,460 --> 00:13:06,990 માતાનો scanf-1.c કહે છે. 297 00:13:06,990 --> 00:13:10,880 298 00:13:10,880 --> 00:13:11,380 ઠીક છે. 299 00:13:11,380 --> 00:13:12,720 ત્યાં અમે જાઓ. 300 00:13:12,720 --> 00:13:14,280 મારે તેની જરૂર છે. 301 00:13:14,280 --> 00:13:16,750 CS50 આઈડી વિવિધ છે રૂપરેખાંકન સેટિંગ્સ 302 00:13:16,750 --> 00:13:18,280 કે પોતાને સામે રક્ષણ આપે છે. 303 00:13:18,280 --> 00:13:21,300 હું તે નિષ્ક્રિય કરવા માટે જરૂરી જાતે જ આ સમય રણકાર ચાલી રહ્યું છે. 304 00:13:21,300 --> 00:13:22,140 તેથી શબ્દમાળા કરો. 305 00:13:22,140 --> 00:13:25,560 હું આગળ જાઓ અને લખો જાઉં છું મારો મનપસંદ હેલો વિશ્વમાં. 306 00:13:25,560 --> 00:13:26,490 નલ, બરાબર. 307 00:13:26,490 --> 00:13:27,700 કે હું શું લખ્યો નથી. 308 00:13:27,700 --> 00:13:29,690 તેથી તે સૂચક છે કંઈક ખોટું છે. 309 00:13:29,690 --> 00:13:33,920 મને આગળ વધો અને લખો ખરેખર લાંબા શબ્દમાળા માં. 310 00:13:33,920 --> 00:13:37,210 નલ માટે આભાર અને મને ખબર નથી જો હું તે ભાંગી સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માટે જઇ રહ્યો છું. 311 00:13:37,210 --> 00:13:40,240 માતાનો થોડી નકલ કરવાનો પ્રયાસ કરો પેસ્ટ કરો અને આ મદદ કરે છે તો જુઓ. 312 00:13:40,240 --> 00:13:43,290 માત્ર આ એક ઘણો પેસ્ટ કરો. 313 00:13:43,290 --> 00:13:47,310 તે ચોક્કસપણે એક મોટી છે સામાન્ય કરતાં શબ્દમાળા. 314 00:13:47,310 --> 00:13:51,450 ચાલો ખરેખર તે લખવા દો. 315 00:13:51,450 --> 00:13:51,950 નંબર 316 00:13:51,950 --> 00:13:52,650 તે ખરેખર ખૂબ જ. 317 00:13:52,650 --> 00:13:53,480 આદેશ મળ્યો નથી. 318 00:13:53,480 --> 00:13:54,550 જેથી બિનસંબંધિત છે. 319 00:13:54,550 --> 00:13:56,440 હું પેસ્ટ કારણ કે કેટલાક ખરાબ અક્ષરો, 320 00:13:56,440 --> 00:13:59,780 પરંતુ આ બહાર વળે કામ કરવા માટે નથી જતા હોય છે. 321 00:13:59,780 --> 00:14:03,510 >> કારણ કે, ચાલો આ વધુ એક વખત પ્રયાસ કરીએ અમે ખરેખર તે ભાંગી તો તે વધુ મજા છે. 322 00:14:03,510 --> 00:14:09,116 ચાલો આ લખો અને હવે, હું છું ખરેખર લાંબા શબ્દમાળા નકલ કરવા જઈ 323 00:14:09,116 --> 00:14:10,990 અને હવે તો તે જોવા દો અમે આ વસ્તુ ભાંગી શકે છે. 324 00:14:10,990 --> 00:14:14,235 હું જગ્યાઓ અવગણવામાં અને નોટિસ નવી લાઇન અને અર્ધવિરામ 325 00:14:14,235 --> 00:14:16,035 અને તમામ ફંકી અક્ષરો. 326 00:14:16,035 --> 00:14:16,535 દાખલ કરો. 327 00:14:16,535 --> 00:14:21,090 328 00:14:21,090 --> 00:14:22,880 અને હવે નેટવર્ક ધીમા આવી રહી છે. 329 00:14:22,880 --> 00:14:27,460 હું સ્પષ્ટ રીતે, ખૂબ લાંબા આદેશ V એ નીચે યોજાઇ હતી. 330 00:14:27,460 --> 00:14:28,190 તે ખરેખર ખૂબ જ! 331 00:14:28,190 --> 00:14:29,260 આદેશ મળ્યો નથી. 332 00:14:29,260 --> 00:14:29,780 >> ઠીક છે. 333 00:14:29,780 --> 00:14:32,240 વેલ, આ બિંદુ છે તેમ છતાં નીચેની. 334 00:14:32,240 --> 00:14:36,910 તેથી ખરેખર શું ચાલી રહ્યું છે આ જાહેરાત સાથે 335 00:14:36,910 --> 00:14:39,240 રેખા 16 પર ઘરનાં પરચૂરણ કામો સ્ટાર બફર? 336 00:14:39,240 --> 00:14:41,820 તેથી હું મેળવવામાં તે છું હું એક નિર્દેશક જાહેર કરે છે ત્યારે? 337 00:14:41,820 --> 00:14:47,440 હું મેળવવામાં છું બધા ચાર બાઇટ કિંમત છે બફર કહેવાય છે, પરંતુ તે અંદર શું છે 338 00:14:47,440 --> 00:14:49,540 આ ક્ષણે? 339 00:14:49,540 --> 00:14:50,930 તે માત્ર કેટલાક કચરો કિંમત છે. 340 00:14:50,930 --> 00:14:54,170 કોઈપણ સમયે કારણ કે તમે એક ચલ જાહેર સી, તે માત્ર કેટલાક કચરો કિંમત છે, 341 00:14:54,170 --> 00:14:56,220 અને અમે શરૂ કરી રહ્યાં છો આ વાસ્તવિકતા પર સફર. 342 00:14:56,220 --> 00:14:59,720 હવે, હું scanf કહી ત્યારે, આ સરનામા પર જાઓ 343 00:14:59,720 --> 00:15:01,520 અને ગમે તે વપરાશકર્તા પ્રકારો મૂકો. 344 00:15:01,520 --> 00:15:06,400 માં વપરાશકર્તા પ્રકારો તો હેલો વિશ્વ, સાથે સાથે, હું તેને જ્યાં મૂકી શકું? 345 00:15:06,400 --> 00:15:07,750 બફર એક કચરો કિંમત છે. 346 00:15:07,750 --> 00:15:11,510 >> જેથી એક તીર જેવા પ્રકારની છે કે જ્યાં કોણ જાણે પોઇન્ટ છે. 347 00:15:11,510 --> 00:15:13,880 કદાચ તે પોઇન્ટ છે અહીં મારા મેમરી. 348 00:15:13,880 --> 00:15:16,560 અને તેથી જ્યારે વપરાશકર્તા હેલો વિશ્વમાં પ્રકારો, 349 00:15:16,560 --> 00:15:22,380 આ કાર્યક્રમ મૂકી કરવાનો પ્રયાસ કરે છે શબ્દમાળા હેલ્લો વિશ્વ બેકસ્લેશ 0 350 00:15:22,380 --> 00:15:23,910 મેમરી કે ભાગ છે. 351 00:15:23,910 --> 00:15:27,070 પરંતુ ઊંચી સંભાવના સાથે છે, પરંતુ સ્પષ્ટ નથી 100% સંભાવના 352 00:15:27,070 --> 00:15:30,440 કમ્પ્યુટર પછી તૂટી રહ્યું છે આ કાર્યક્રમ આ નથી કારણ કે 353 00:15:30,440 --> 00:15:32,490 મેમરી હું સ્પર્શ માટે માન્ય હોવું જોઈએ. 354 00:15:32,490 --> 00:15:36,330 તેથી ટૂંકા માં, આ કાર્યક્રમ છે બરાબર તે કારણ માટે અપૂર્ણ. 355 00:15:36,330 --> 00:15:38,070 હું મૂળભૂત શું નથી કરી રહ્યો છું? 356 00:15:38,070 --> 00:15:42,366 શું પગલાં માટે હું જેમ છોડી દીધી છે અમે માતાનો Binky પ્રથમ ઉદાહરણ સાથે અવગણવામાં? 357 00:15:42,366 --> 00:15:42,866 અરે વાહ? 358 00:15:42,866 --> 00:15:43,710 >> પ્રેક્ષક: મેમરી ફાળવણી? 359 00:15:43,710 --> 00:15:45,001 >> ડેવીડના MALAN: મેમરી ફાળવણી. 360 00:15:45,001 --> 00:15:48,400 હું ખરેખર ફાળવવામાં ન હોય કે જેઓ શબ્દમાળા માટે કોઇ મેમરી. 361 00:15:48,400 --> 00:15:50,270 તેથી અમે રીતે એક દંપતી આ ઠીક કરી શકે છે. 362 00:15:50,270 --> 00:15:52,700 એક, અમે સરળ રાખી શકો છો અને હકીકતમાં, હવે તમે છો 363 00:15:52,700 --> 00:15:55,116 એક અસ્પષ્ટપણું જોવા માટે શરૂ કરવા જઇ શું વચ્ચે લીટીઓ 364 00:15:55,116 --> 00:15:58,520 ઝાકઝમાળ, એક શબ્દમાળા શું છે, શું છે ચાર રચે સ્ટાર અક્ષરો શું ઝાકઝમાળ છે, 365 00:15:58,520 --> 00:15:59,020 છે. 366 00:15:59,020 --> 00:16:02,450 અહીં બીજા ઉદાહરણ છે શબ્દમાળાઓ અને નોટિસ સંડોવતા 367 00:16:02,450 --> 00:16:05,690 બધા હું વાક્ય પર કર્યું છે 16 ને બદલે કહેતા છે 368 00:16:05,690 --> 00:16:09,530 કે બફર ઘરનાં પરચૂરણ કામો હોઈ ચાલે છે સ્ટાર મેમરી એક ભાગ પર એક નિર્દેશક, 369 00:16:09,530 --> 00:16:14,057 હું ખૂબ જ સક્રિય આપવા જઈ રહ્યો છું 16 અક્ષરો માટે મારી જાતને બફર, 370 00:16:14,057 --> 00:16:16,390 અને હકીકતમાં, તમે પરિચિત છો, તો શબ્દ બફરીંગને સાથે, 371 00:16:16,390 --> 00:16:20,570 કદાચ વિડિઓઝ વિશ્વમાં માંથી, વિડિઓ બફરીંગને, બફરીંગને છે, 372 00:16:20,570 --> 00:16:21,175 બફરીંગને. 373 00:16:21,175 --> 00:16:22,550 વેલ, આ જોડાણ અહીં શું છે? 374 00:16:22,550 --> 00:16:24,960 YouTube ના વેલ, અંદર અને વિડિઓ પ્લેયર્સ અંદર 375 00:16:24,960 --> 00:16:27,200 સામાન્ય રીતે ઝાકઝમાળ છે 16 કરતાં મોટી છે. 376 00:16:27,200 --> 00:16:30,340 તે કદમાં એક ઝાકઝમાળ હોઈ શકે છે મેગાબાઇટ, કદાચ 10 મેગાબાઇટ્સ, 377 00:16:30,340 --> 00:16:34,330 અને તે એરે માં તમારા બ્રાઉઝર કરે , બાઇટ્સ એક સંપૂર્ણ સમૂહ ડાઉનલોડ 378 00:16:34,330 --> 00:16:37,500 ઓફ મેગાબાઇટ્સ એક સમગ્ર ટોળું વિડિઓ, અને વિડિઓ પ્લેયર, 379 00:16:37,500 --> 00:16:40,930 YouTube અથવા વિષયક છે, શરૂ થાય છે કે એરે ના બાઇટ્સ વાંચન, 380 00:16:40,930 --> 00:16:43,530 અને કોઈ પણ સમયે તમે જોઈ શબ્દ બફરીંગને, બફરીંગને, 381 00:16:43,530 --> 00:16:46,350 કે ખેલાડી છે એનો અર્થ એ થાય કે એરે ઓવરને મેળવેલ. 382 00:16:46,350 --> 00:16:50,430 નેટવર્ક તે નથી કે જેથી ધીમી છે વધુ બાઇટ્સ સાથે એરે ફરીથી 383 00:16:50,430 --> 00:16:55,610 અને તેથી તમે બીટ્સ બહાર છો આ વપરાશકર્તા માટે પ્રદર્શિત કરવા માટે. 384 00:16:55,610 --> 00:16:59,430 >> તેથી બફર એક ચાલાક શબ્દ કે અહીં છે તે માત્ર એક એરે મેમરી એક ભાગ છે. 385 00:16:59,430 --> 00:17:02,530 અને આ તેને ઠીક કરશે તે બહાર વળે છે, કારણ 386 00:17:02,530 --> 00:17:07,410 તમે એરે સારવાર કરી શકે છે કે, જોકે તરીકે તેઓ પણ બફર છતાં, સરનામાં છે 387 00:17:07,410 --> 00:17:10,710 માત્ર એક પ્રતીક છે, તે એક છે છે અક્ષરો ક્રમ, બફર, 388 00:17:10,710 --> 00:17:14,760 તે મારા માટે ઉપયોગી છે, પ્રોગ્રામર, તમે આસપાસ તેનું નામ પસાર કરી શકે છે 389 00:17:14,760 --> 00:17:17,079 તે હતા છતાં એક નિર્દેશક તરીકે તે છતાં 390 00:17:17,079 --> 00:17:21,000 એક ભાગ ના સરનામા હતા 16 અક્ષરો માટે મેમરી. 391 00:17:21,000 --> 00:17:24,530 કહે છે કે, તેથી હું પસાર કરી શકે છે બરાબર scanf કે શબ્દ 392 00:17:24,530 --> 00:17:30,670 અને તેથી હવે, હું આ કાર્યક્રમ બનાવવા હોય તો, scanf 2 બનાવવા માટે, કોઈ સ્લેશ scanf 2, 393 00:17:30,670 --> 00:17:35,386 અને લખો હેલો વર્લ્ડ, , કે time-- દાખલ 394 00:17:35,386 --> 00:17:37,590 >> હમ્મ, શું થયું? 395 00:17:37,590 --> 00:17:39,340 શબ્દમાળા કરો. 396 00:17:39,340 --> 00:17:41,430 હું શું ખોટું શું હતી? 397 00:17:41,430 --> 00:17:43,800 હેલો વર્લ્ડ, બફર. 398 00:17:43,800 --> 00:17:44,705 હેલો વર્લ્ડ. 399 00:17:44,705 --> 00:17:48,201 400 00:17:48,201 --> 00:17:49,420 આહ, હું તે કરી રહ્યો છે શું ખબર. 401 00:17:49,420 --> 00:17:49,920 ઠીક છે. 402 00:17:49,920 --> 00:17:51,628 તેથી તે વાંચવા છે પ્રથમ જગ્યા સુધી. 403 00:17:51,628 --> 00:17:55,680 તેથી આપણે માત્ર એક ક્ષણ માટે ઠગ દો અને હું માત્ર કંઈક લખો માંગો છે 404 00:17:55,680 --> 00:18:01,408 ખરેખર લાંબા આ એક લાંબી સજા છે જેમ કે એક, બે, ત્રણ, ચાર, પાંચ, 405 00:18:01,408 --> 00:18:04,420 છ, સાત, આઠ, નવ, 10, 11, 12, 13, 14, 15, 16. 406 00:18:04,420 --> 00:18:05,300 ઠીક છે. 407 00:18:05,300 --> 00:18:07,600 તે ખરેખર લાંબા સજા છે. 408 00:18:07,600 --> 00:18:10,710 તેથી આ સજા છે કરતાં લાંબા સમય સુધી 16 અક્ષરો 409 00:18:10,710 --> 00:18:13,670 અને તેથી હું Enter દબાવો ત્યારે શું ચાલી રહ્યું છે? 410 00:18:13,670 --> 00:18:16,940 વેલ, આ કિસ્સામાં વાર્તા, હું જાહેર કર્યું હતું બફર 411 00:18:16,940 --> 00:18:22,190 ખરેખર એક એરે હોવા જવા માટે 16 અક્ષરો તૈયાર છે. 412 00:18:22,190 --> 00:18:27,426 તેથી એક, બે, ત્રણ, ચાર, પાંચ, છ, સાત, આઠ, નવ, 10, 11, 12, 13, 14, 413 00:18:27,426 --> 00:18:29,440 15, 16. 414 00:18:29,440 --> 00:18:34,410 તેથી 16 અક્ષરો, અને હવે, જ્યારે હું આ એક લાંબી છે કંઈક વાંચી 415 00:18:34,410 --> 00:18:43,950 સજા શું છે રહ્યું છે હું આ વાંચી જાઉં છું કે લાંબા છે 416 00:18:43,950 --> 00:18:49,660 એસ ઇ-એન-ટી-E-એન-સી-ઇ, સજા. 417 00:18:49,660 --> 00:18:52,270 >> તેથી આ ઇરાદાપૂર્વક છે ખરાબ વસ્તુ છે કે હું 418 00:18:52,270 --> 00:18:55,060 આ ઉપરાંત લખવાનું રાખવા મારા એરે ની સીમાઓ 419 00:18:55,060 --> 00:18:56,660 મારા બફર ની સીમાઓ પાર. 420 00:18:56,660 --> 00:19:00,100 હું નસીબદાર અને કાર્યક્રમ વિચાર કરી શકે છે કાળજી ચાલી પર રાખવા અને નહીં, 421 00:19:00,100 --> 00:19:03,450 પરંતુ સામાન્ય રીતે, આ બોલતા ખરેખર મારા કાર્યક્રમ ભાંગી જશે, 422 00:19:03,450 --> 00:19:06,440 અને તે એક ભૂલ છે મારા હું પગલું ક્ષણ કોડ 423 00:19:06,440 --> 00:19:08,576 સીમાઓને કે એરે, કારણ કે હું 424 00:19:08,576 --> 00:19:10,450 તે તો ખબર નથી જરૂરી તૂટી રહ્યું 425 00:19:10,450 --> 00:19:12,120 અથવા હું માત્ર નસીબદાર વિચાર જાઉં છું. 426 00:19:12,120 --> 00:19:15,750 તેથી આ સમસ્યારૂપ છે, કારણ કે આ કિસ્સામાં, તે કામ કરવા લાગતું નથી 427 00:19:15,750 --> 00:19:20,931 અને છતાં પણ, અહીં ભાવિ ઉશ્કેરવું દો જ્યારે IDE ખૂબ થોડી સહન લાગે છે 428 00:19:20,931 --> 00:19:21,430 of-- 429 00:19:21,430 --> 00:19:22,040 >> ત્યાં અમે જાઓ. 430 00:19:22,040 --> 00:19:23,240 છેલ્લે. 431 00:19:23,240 --> 00:19:26,470 તેથી હું આ જોઈ શકો છો કે આ જ એક છું. 432 00:19:26,470 --> 00:19:29,630 તેથી હું માત્ર મજા ટાઈપ ઘણો હતો ખરેખર લાંબા વાસ્તવિક શબ્દસમૂહ બહાર 433 00:19:29,630 --> 00:19:32,800 તે ચોક્કસપણે વટાવી કે 16 બાઇટ્સ, હું કારણ કે 434 00:19:32,800 --> 00:19:38,050 આ ઉન્મત્ત લાંબા મલ્ટી વાક્ય માં ટાઇપ શબ્દસમૂહ, અને પછી શું થયું નોટિસ. 435 00:19:38,050 --> 00:19:41,110 આ કાર્યક્રમ છાપવા પ્રયાસ કર્યો અને પછી એક સેગ્મેન્ટેશન ક્ષતિમાં મળ્યો 436 00:19:41,110 --> 00:19:44,430 અને સેગ્મેન્ટેશન ખામી છે જ્યારે આ કંઈક થાય છે 437 00:19:44,430 --> 00:19:47,650 અને ઓપરેટિંગ સિસ્ટમ કહે છે ના, મેમરી સ્પર્શી શકતી નથી. 438 00:19:47,650 --> 00:19:49,570 અમે મારવા માટે જઈ રહ્યાં છો એકસાથે કાર્યક્રમ. 439 00:19:49,570 --> 00:19:51,180 >> તેથી આ સમસ્યારૂપ લાગે છે. 440 00:19:51,180 --> 00:19:54,540 હું કાર્યક્રમ જેમાં સુધારો કર્યો છે ઓછામાં ઓછા કેટલાક મેમરી 441 00:19:54,540 --> 00:19:58,000 પરંતુ આ પુરાવા લાગશે મેળવવામાં કાર્ય GetString 442 00:19:58,000 --> 00:20:00,780 કેટલાક મર્યાદિત લંબાઈ 16 શબ્દમાળાઓ. 443 00:20:00,780 --> 00:20:04,200 તમે લાંબા સમય સુધી આધાર માંગો છો તેથી જો 16 અક્ષરો કરતાં વાક્યો, 444 00:20:04,200 --> 00:20:04,880 તમે શું કરો છો? 445 00:20:04,880 --> 00:20:07,970 વેલ, તમે વધારો કરી શકે છે 32 આ બફર માપ 446 00:20:07,970 --> 00:20:09,190 અથવા તે પ્રકારની ટૂંકા લાગે છે. 447 00:20:09,190 --> 00:20:12,260 શા માટે આપણે કરી નથી તે 1000 પરંતુ પાછા દબાણ. 448 00:20:12,260 --> 00:20:17,100 તર્ક પ્રતિભાવ શું છે માત્ર કરીને આ સમસ્યા દૂર 449 00:20:17,100 --> 00:20:20,660 1000 અક્ષરો જેમ, મોટી મારા બફર? 450 00:20:20,660 --> 00:20:23,470 આ રીતે GetString અમલીકરણ દ્વારા. 451 00:20:23,470 --> 00:20:27,130 અહીં શું સારી કે ખરાબ છે? 452 00:20:27,130 --> 00:20:28,033 અરે વાહ? 453 00:20:28,033 --> 00:20:30,574 પ્રેક્ષક: તમે ઘણો બાંધવા તો જગ્યા અને તમે તેનો ઉપયોગ નથી, 454 00:20:30,574 --> 00:20:33,500 પછી તમે તે જગ્યા ફરી ફાળવવા કરી શકતા નથી. 455 00:20:33,500 --> 00:20:34,500 ડેવીડના MALAN: ચોક્કસ. 456 00:20:34,500 --> 00:20:38,480 જો તમે ન કરો ત્યાં સુધી તો તે નકામું છે વાસ્તવમાં તે બાઇટ્સ 900 જરૂર 457 00:20:38,480 --> 00:20:41,057 અને હજુ સુધી તમે માટે પૂછી રહ્યાં છો કોઈપણ કુલ 1,000, 458 00:20:41,057 --> 00:20:44,140 તમે માત્ર પર વધુ મેમરી વપરાશ કરી રહ્યાં છો તમે જરૂર કરતાં વપરાશકર્તાની કમ્પ્યુટર, 459 00:20:44,140 --> 00:20:45,740 અને બધા કેટલાક બાદ જો તમે પહેલાથી જ આવી 460 00:20:45,740 --> 00:20:47,620 જીવન માં તમે છો કે જ્યારે કાર્યક્રમો ઘણાં ચાલી 461 00:20:47,620 --> 00:20:50,470 અને તેઓ મેમરી ઘણાં ખાવાથી કરી રહ્યાં છો આ ખરેખર પ્રભાવ પર અસર કરી શકે છે 462 00:20:50,470 --> 00:20:52,220 અને વપરાશકર્તા અનુભવ કમ્પ્યુટર પર. 463 00:20:52,220 --> 00:20:56,090 તેથી તે પ્રકારના એક બેકાર ઉકેલ છે, ખાતરી કરો કે માટે છે, અને તેનાથી વિપરીત, 464 00:20:56,090 --> 00:21:00,140 તે માત્ર ઉડાઉ છે, શું સમસ્યા હજુ પણ હું મારા બફર કરો તો, રહે 465 00:21:00,140 --> 00:21:02,100 1000? 466 00:21:02,100 --> 00:21:02,600 અરે વાહ? 467 00:21:02,600 --> 00:21:04,475 >> પ્રેક્ષક: શબ્દમાળા લંબાઈ 1,001 છે. 468 00:21:04,475 --> 00:21:05,350 ડેવીડના MALAN: ચોક્કસ. 469 00:21:05,350 --> 00:21:08,280 તમારા શબ્દમાળા લંબાઈ 1,001 હોય તો, તમે ચોક્કસ જ સમસ્યા હોય છે, 470 00:21:08,280 --> 00:21:10,705 અને મારા દલીલ દ્વારા, હું માત્ર પછી તે 2000 બનાવવા માટે, 471 00:21:10,705 --> 00:21:12,830 પરંતુ તમે ખબર નથી તે પ્રયત્ન કરીશું કેવી રીતે મોટા અગાઉથી, 472 00:21:12,830 --> 00:21:16,890 અને હજુ સુધી, હું મારા કાર્યક્રમ કમ્પાઇલ હોય લોકો ઉપયોગ ભાડા પહેલાં અને ડાઉનલોડ 473 00:21:16,890 --> 00:21:17,390 તે. 474 00:21:17,390 --> 00:21:21,490 તેથી આ બરાબર પ્રકારની છે સામગ્રી CS50 પુસ્તકાલય પ્રયાસ કરે છે કે 475 00:21:21,490 --> 00:21:24,750 અમને મદદ અને અમે માત્ર નજરે પડશે અંતર્ગત અમલીકરણ કેટલાક 476 00:21:24,750 --> 00:21:29,790 અહીં, પરંતુ આ CS50 ટપકું સી આ છે CS50 IDE પર કરવામાં આવી રહ્યું છે કે ફાઈલ છે 477 00:21:29,790 --> 00:21:31,420 તમે ઉપયોગ કરી રહ્યો છું કે આ બધા અઠવાડિયા. 478 00:21:31,420 --> 00:21:34,280 તે પૂર્વ સંકલિત છે અને તમે કરેલા આપોઆપ તેનો ઉપયોગ કરવામાં આવી 479 00:21:34,280 --> 00:21:38,780 આ કર્યા પ્રકૃતિ દ્વારા રણકાર સાથે એલ CS50 ધ્વજ આડંબર, 480 00:21:38,780 --> 00:21:42,300 પરંતુ હું તમામ મારફતે સરકાવો તો આ વિધેયો, ​​અહીં GetString છે, 481 00:21:42,300 --> 00:21:44,636 અને માત્ર તમે આપવા માટે શું સ્વાદ, થઈ રહ્યું છે 482 00:21:44,636 --> 00:21:46,760 માતાનો પર એક ઝડપી નજર સંબંધિત જટિલતા. 483 00:21:46,760 --> 00:21:48,870 તે એક સુપર લાંબો છે કાર્ય છે, પરંતુ અમે ન હતી 484 00:21:48,870 --> 00:21:52,530 બધી હાર્ડ વિશે વિચારો હોય છે કેવી રીતે શબ્દમાળાઓ વિશે જાઓ. 485 00:21:52,530 --> 00:21:55,660 >> તેથી અહીં મારા બફર અને હું છે દેખીતી રીતે નલ પ્રારંભ. 486 00:21:55,660 --> 00:21:57,990 આ છે, અલબત્ત, છે ચાર રચે સ્ટાર તરીકે જ વસ્તુ છે, 487 00:21:57,990 --> 00:22:00,585 પરંતુ હું નક્કી CS50 પુસ્તકાલય અમલીકરણ 488 00:22:00,585 --> 00:22:02,460 અમે જઈ રહ્યાં છો, તો તે સંપૂર્ણપણે ગતિશીલ 489 00:22:02,460 --> 00:22:05,770 હું કેવી રીતે મોટા અગાઉથી ખબર નથી શબ્દમાળા વપરાશકર્તાઓ વિચાર કરવા માંગો છો જઈ રહ્યાં છે. 490 00:22:05,770 --> 00:22:08,140 તેથી હું શરૂ કરવા જઇ રહ્યો છું માત્ર એક ખાલી શબ્દમાળા સાથે 491 00:22:08,140 --> 00:22:11,507 અને મને ખૂબ બિલ્ડ કરવા જઇ રહ્યો છું મેમરી હું વપરાશકર્તા શબ્દમાળા ફિટ કરવાની જરૂર તરીકે 492 00:22:11,507 --> 00:22:13,340 અને હું ન હોય તો પૂરતી, હું પૂછવા જાઉં છું 493 00:22:13,340 --> 00:22:15,010 વધુ મેમરી માટે ઓપરેટિંગ સિસ્ટમ. 494 00:22:15,010 --> 00:22:17,510 હું તેમના શબ્દમાળા ખસેડવા જાઉં છું મેમરી નો મોટા ભાગ માં 495 00:22:17,510 --> 00:22:21,847 અને હું પ્રકાશિત અથવા મુક્ત જાઉં છું મેમરી અપૂરતું મોટી ચંકને 496 00:22:21,847 --> 00:22:23,680 અને અમે હમણાં જ જઈ રહ્યાં છો iteratively આ કરવા માટે. 497 00:22:23,680 --> 00:22:25,570 >> તેથી એક ઝડપી નજરથી, અહીં માત્ર એક ચલ છે 498 00:22:25,570 --> 00:22:28,780 જેની સાથે હું ટ્રેક રાખવા જાઉં છું મારા બફર ક્ષમતા છે. 499 00:22:28,780 --> 00:22:30,071 હું કેવી રીતે ઘણા બાઇટ્સ ફિટ થઈ શકે છે? 500 00:22:30,071 --> 00:22:32,070 અહીં એક ચલ n સાથે છે હું રાખવા જઈ રહ્યો છું, જે 501 00:22:32,070 --> 00:22:36,200 ખરેખર કેટલા બાઇટ્સ ટ્રેક વપરાશકર્તા લખ્યો છે કે બફર. 502 00:22:36,200 --> 00:22:39,900 જો તમે પહેલાં આ જોઇ ન હોય, તો તમે સ્પષ્ટ કરી શકો છો કે જે પૂર્ણાંક ચલ 503 00:22:39,900 --> 00:22:46,370 , તરીકે નામ સૂચવે છે, કે જે સહી થયેલ નહિં છે એનો અર્થ એ થાય કે તે બિન નકારાત્મક છે, અને શા માટે કરશે 504 00:22:46,370 --> 00:22:50,590 હું ક્યારેય સ્પષ્ટ સંતાપ કરવા માંગો છો પૂર્ણાંક માત્ર પૂર્ણાંક નથી કે, 505 00:22:50,590 --> 00:22:52,540 પરંતુ તે એક બિનનોંધાયેલ પૂર્ણાંક છે? 506 00:22:52,540 --> 00:22:55,064 તે બિન નકારાત્મક પૂર્ણાંક છે. 507 00:22:55,064 --> 00:22:56,355 [અશ્રાવ્ય] શું અર્થ છે? 508 00:22:56,355 --> 00:22:58,910 >> પ્રેક્ષક: તે રકમ વર્ણન છે મેમરી [અશ્રાવ્ય] કરી શકાય છે. 509 00:22:58,910 --> 00:22:59,660 >> ડેવીડના MALAN: યાહ. 510 00:22:59,660 --> 00:23:03,710 હું સહી થયેલ નહિં કહે તો તેથી, આ ખરેખર છે તમે વધારાની મેમરી એક બીટ આપવા 511 00:23:03,710 --> 00:23:07,440 જો તમે અને તે સિલી કાઇન્ડ લાગે છે, પરંતુ , કે વધારાની મેમરી એક બીટ છે 512 00:23:07,440 --> 00:23:09,940 તમે ઘણા બમણી હોય છે તમે પ્રતિનિધિત્વ કરી શકે છે મૂલ્યો, 513 00:23:09,940 --> 00:23:11,570 તે 0 અથવા 1 હોઇ શકે છે, કારણ કે. 514 00:23:11,570 --> 00:23:14,660 તેથી મૂળભૂત રીતે, પૂર્ણાંક આશરે હોઈ શકે છે નકારાત્મક 2 અબજ તમામ માર્ગ 515 00:23:14,660 --> 00:23:16,030 હકારાત્મક 2 અબજ સુધી. 516 00:23:16,030 --> 00:23:18,540 તે મોટા રેન્જ હોય ​​છે, પરંતુ તે હજુ પણ પ્રકારની ઉડાઉ છે 517 00:23:18,540 --> 00:23:21,280 તમે માત્ર વિશે કાળજી તો માપો, જે માત્ર તર્ક 518 00:23:21,280 --> 00:23:24,620 બિન નકારાત્મક હોઈ શકે છે અથવા હકારાત્મક કે 0, તેમજ તે પછી, 519 00:23:24,620 --> 00:23:28,884 શા માટે તમે 2 અબજ બરબાદ થાય છે નકારાત્મક નંબરોનો માટે શક્ય કિંમતો 520 00:23:28,884 --> 00:23:30,300 તમે ક્યારેય તેમને વાપરવા માટે જઈ રહ્યાં છો તો શું? 521 00:23:30,300 --> 00:23:35,350 તેથી તમે કરી શકો સહી થયેલ નહિં, હવે મારી પૂર્ણાંક કહેતા અબજ 4 0 વચ્ચે અને આશરે છે. 522 00:23:35,350 --> 00:23:39,280 >> તેથી અહીં કારણોસર માત્ર પૂર્ણાંક સી અમે હમણાં જ હવે માં મળશે 523 00:23:39,280 --> 00:23:42,280 તેના બદલે પૂર્ણાંક છે શા માટે એક કોલસો બનાવો, પરંતુ અહીં છે 524 00:23:42,280 --> 00:23:44,630 શું થઈ રહ્યું છે ભાવાર્થ તમે, અને કેટલાક પર 525 00:23:44,630 --> 00:23:48,340 હમણાં પૂરતું, ઉપયોગ કરી શકે છે, પણ pset ચાર fgetc કાર્ય 526 00:23:48,340 --> 00:23:51,580 અથવા તે પછી, અમે તે જોશો ફરી સમસ્યા પાંચ સુયોજિત 527 00:23:51,580 --> 00:23:55,410 fgetc કારણ કે નામ તરીકે સરસ છે પ્રકારની પ્રકારની arcanely, સૂચવે છે 528 00:23:55,410 --> 00:23:57,940 તે એક કાર્ય છે કે એક અક્ષર મળે છે અને તેથી 529 00:23:57,940 --> 00:24:00,690 શું મૂળભૂત રીતે જુદા છે અમે GetString કરી રહ્યાં છે તે વિશે 530 00:24:00,690 --> 00:24:03,110 અમે ઉપયોગ કરી રહ્યાં છો છે એ જ રીતે scanf. 531 00:24:03,110 --> 00:24:07,550 અમે હમણાં જ પગલું દ્વારા પગલું સાથે વિસર્પી છે ગમે પર વપરાશકર્તા ટાઇપ છે, 532 00:24:07,550 --> 00:24:10,970 અમે હંમેશા એક સ્થાપિત કરી શકે છે, કારણ કે ચાર રચે છે, અને તેથી અમે હંમેશા સુરક્ષિત રીતે કરી શકો છો 533 00:24:10,970 --> 00:24:15,599 એક સમયે એક કોલસો બનાવો જોવા, અને જાદુ અહીં થાય છે શરૂ થાય છે. 534 00:24:15,599 --> 00:24:17,890 હું નીચે સ્ક્રોલ જાઉં છું આ કાર્ય મધ્યમાં 535 00:24:17,890 --> 00:24:20,360 માત્ર થોડા સમય માટે આ કાર્ય દાખલ કરો. 536 00:24:20,360 --> 00:24:22,670 ભાગનું છે જેમ malloc કાર્ય, ત્યાં છે 537 00:24:22,670 --> 00:24:27,740 એક realloc કાર્ય જ્યાં realloc તમે મેમરી એક ભાગ ફરી ફાળવવા દે 538 00:24:27,740 --> 00:24:29,570 અને તે મોટી અથવા નાના બનાવે છે. 539 00:24:29,570 --> 00:24:33,060 તેથી લાંબા વાર્તા ટૂંકી અને આજે મારા હાથ એક મોજું, 540 00:24:33,060 --> 00:24:35,620 કે શું GetString ખબર કરી છે તે પ્રકારના છે 541 00:24:35,620 --> 00:24:39,720 ના જાદુઇ વધતી અથવા વપરાશકર્તા તરીકે બફર ઘટતી 542 00:24:39,720 --> 00:24:41,440 તેના અથવા તેણીના શબ્દમાળા માં પ્રકારો. 543 00:24:41,440 --> 00:24:43,962 >> તેથી જો વપરાશકર્તા પ્રકારો ટૂંકા શબ્દમાળા, આ કોડ 544 00:24:43,962 --> 00:24:45,920 માત્ર પૂરતી ફાળવે મેમરી શબ્દમાળા ફિટ. 545 00:24:45,920 --> 00:24:48,086 વપરાશકર્તા ટાઈપ રાખે છે હું ફરીથી અને ફરીથી તે કર્યું હતું 546 00:24:48,086 --> 00:24:50,330 અને ફરી, તો સાથે સાથે, તો બફર શરૂઆતમાં આ મોટી 547 00:24:50,330 --> 00:24:53,310 અને કાર્યક્રમ કરવા માટે, ખબર પડે છે એક મિનિટ રાહ જુઓ, હું જગ્યા બહાર છું, 548 00:24:53,310 --> 00:24:55,410 તે ડબલ કરવા જઈ રહ્યું છે બફર માપ 549 00:24:55,410 --> 00:24:59,110 અને પછી બફર માપ ડબલ અને ડબલિંગ કરે છે કે કોડ છે, 550 00:24:59,110 --> 00:25:03,170 અમે તેને અહીં જોવા હોય તો, તે છે ફક્ત આ હોંશિયાર એક લાઇનર. 551 00:25:03,170 --> 00:25:06,830 તમે આ વાક્યરચના જોઇ ન શકે પહેલાં, પરંતુ તમે સ્ટાર બરાબર કહે છે, તો 552 00:25:06,830 --> 00:25:10,470 આ જ વસ્તુ તરીકે છે ક્ષમતા ગુણ્યા 2 કહેતા. 553 00:25:10,470 --> 00:25:13,390 તેથી તે માત્ર બમણી રાખે બફર ક્ષમતા 554 00:25:13,390 --> 00:25:17,480 અને પછી realloc કહેવાની આપવા પોતે કે વધુ મેમરી. 555 00:25:17,480 --> 00:25:19,720 >> હવે, એક અલગ તરીકે, ત્યાં અહીં અન્ય કાર્યો છે 556 00:25:19,720 --> 00:25:23,680 અમે કોઈપણ વિગતવાર તપાસ નહીં કે GetInt માં બતાવવા માટે કરતાં અન્ય, 557 00:25:23,680 --> 00:25:26,150 અમે GetInt માં GetString ઉપયોગ કરે છે. 558 00:25:26,150 --> 00:25:28,192 અમે તે નથી કે તપાસ નલ, જે, સ્મૃતિ, 559 00:25:28,192 --> 00:25:30,400 ખાસ કિંમત છે કે કંઈક ખોટું થયું છે. 560 00:25:30,400 --> 00:25:31,233 અમે મેમરી છો. 561 00:25:31,233 --> 00:25:32,310 સારી કે માટે ચકાસો. 562 00:25:32,310 --> 00:25:33,710 અને અમે એક સંત્રી કિંમત આવો. 563 00:25:33,710 --> 00:25:37,850 પરંતુ હું તરીકે ટિપ્પણીઓ અલગ પાડવા પડશે શા માટે અને પછી અમે scanf આ પિતરાઇ ઉપયોગ 564 00:25:37,850 --> 00:25:42,100 sscanf કહેવામાં આવે છે અને તે બહાર વળે કે sscanf, અથવા શબ્દમાળા scanf, 565 00:25:42,100 --> 00:25:45,310 તમે વાક્ય પર એક નજર કરી શકો છો કે વપરાશકર્તા ટાઇપ અને તમે દો છે 566 00:25:45,310 --> 00:25:49,610 અનિવાર્યપણે તે વિશ્લેષણ અને હું છું શું અહીં કરી હું sscanf જણાવું છું છે, 567 00:25:49,610 --> 00:25:54,440 વપરાશકર્તા છે ગમે વિશ્લેષણ માં ટાઇપ કરો અને ખાતરી કરો% i બનાવવા માટે, 568 00:25:54,440 --> 00:25:59,250 ત્યાં તે પૂર્ણાંક છે, અને અમે નહીં ત્યાં પણ છે બરાબર શા માટે આજે પ્રવેશ મેળવવા 569 00:25:59,250 --> 00:26:03,760 એક nutshell માં% અહીં સી, પરંતુ તે માટે પરવાનગી આપે છે વપરાશકર્તા ટાઇપ છે તો અમને શોધવા માટે 570 00:26:03,760 --> 00:26:06,050 નંબર પછી બોગસ કંઈક. 571 00:26:06,050 --> 00:26:11,766 તેથી કારણ કે GetInt અને GetString ફરીથી પ્રયાસ કરી, ફરીથી પ્રયાસ કરવા માટે તમને કહું છું, ફરી પ્રયાસ 572 00:26:11,766 --> 00:26:13,640 કારણ કે તમામ છે અમે તેવા પરચૂરણ ખર્ચ કર્યો છે કે કોડ છે, 573 00:26:13,640 --> 00:26:17,900 તે પ્રકારની વપરાશકર્તાની ઇનપુટ જોઈ છે તેની ખાતરી કરવા માટે તે સંપૂર્ણપણે આંકડાકીય છે 574 00:26:17,900 --> 00:26:21,700 અથવા તે એક વાસ્તવિક ફ્લોટિંગ છે બિંદુ કિંમત અથવા જેમ, 575 00:26:21,700 --> 00:26:24,233 શું કિંમત પર આધાર રાખીને તમે ઉપયોગ કરી રહ્યાં છો કામ કરે છે. 576 00:26:24,233 --> 00:26:25,060 >> નવાઇ. 577 00:26:25,060 --> 00:26:25,710 ઠીક છે. 578 00:26:25,710 --> 00:26:27,592 કે જે કોળિયો હતી પરંતુ બિંદુ અહીં છે 579 00:26:27,592 --> 00:26:29,550 કે અમે હતી કારણ તે તાલીમ વ્હીલ્સ પર 580 00:26:29,550 --> 00:26:32,880 કારણ કે સૌથી નીચા સ્તરે છે માત્ર જેથી ઘણી વસ્તુઓ છે કે 581 00:26:32,880 --> 00:26:35,674 અમે ઇચ્છતા કે ખોટું જઈ શકે છે preemptively નિયંત્રિત કરવા માટે 582 00:26:35,674 --> 00:26:38,090 આ ચોક્કસપણે તે વસ્તુઓ વર્ગ પ્રારંભિક અઠવાડિયા, 583 00:26:38,090 --> 00:26:42,230 પરંતુ હવે pset ચાર અને pset પાંચ સાથે અને બહાર તમે તેને સહી વધુ છે કે જોશે 584 00:26:42,230 --> 00:26:45,570 તમે પણ જો તમે વધુ સક્ષમ છો સમસ્યાઓ તે પ્રકારના ઉકેલવા 585 00:26:45,570 --> 00:26:47,180 જાતે. 586 00:26:47,180 --> 00:26:51,770 GetString અથવા GetInt પર કોઈપણ પ્રશ્ન છે? 587 00:26:51,770 --> 00:26:52,630 અરે વાહ? 588 00:26:52,630 --> 00:26:55,130 >> પ્રેક્ષક: તમે શા માટે ડબલ કરશે બફર ક્ષમતા 589 00:26:55,130 --> 00:26:57,630 તેના બદલે માત્ર વધારો કરવાને તે ચોક્કસ રકમ છે? 590 00:26:57,630 --> 00:26:58,100 >> ડેવીડના MALAN: સારા પ્રશ્ન. 591 00:26:58,100 --> 00:27:00,474 આપણે શા માટે ક્ષમતા બમણી કરશે બફર વિરોધ 592 00:27:00,474 --> 00:27:02,800 માત્ર તે વધી કેટલાક સતત કિંમત છે? 593 00:27:02,800 --> 00:27:03,900 તે ડિઝાઇન નિર્ણય હતો. 594 00:27:03,900 --> 00:27:08,590 અમે હમણાં જ તે કરે છે, કારણ કે નિર્ણય કર્યો સમય મુજબના ખર્ચાળ થોડી પૂછો હોઈ 595 00:27:08,590 --> 00:27:10,440 ઓપરેટિંગ સિસ્ટમ મેમરી માટે, અમે ન હતી 596 00:27:10,440 --> 00:27:13,210 માં મેળવવામાં અંત કરવા માંગો છો મોટા શબ્દમાળાઓ માટે એક પરિસ્થિતિ 597 00:27:13,210 --> 00:27:14,960 અમે પૂછ્યા હતા કે ફરીથી અને ફરીથી ઓએસ 598 00:27:14,960 --> 00:27:17,500 અને ફરીથી અને ફરીથી મેમરી માટે ઝડપી ઉત્તરાધિકાર. 599 00:27:17,500 --> 00:27:20,387 તેથી અમે ફક્ત કંઈક નિર્ણય લીધો આપખુદ પરંતુ અમે વ્યાજબી આશા, 600 00:27:20,387 --> 00:27:22,720 કે, તમે, ચાલો શું ખબર આગળ જાતને વિચાર કરવાનો પ્રયાસ કરો 601 00:27:22,720 --> 00:27:25,520 અને માત્ર કે જેથી તે બમણી રાખવા અમે વખત જથ્થો ઘટાડવા 602 00:27:25,520 --> 00:27:29,010 અમે malloc કૉલ કરવા માટે હોય અથવા realloc, પરંતુ કુલ ચુકાદો 603 00:27:29,010 --> 00:27:31,820 જાણીને ગેરહાજરીમાં કૉલ શું વપરાશકર્તાઓ લખો કરવા માંગો છો શકે છે. 604 00:27:31,820 --> 00:27:33,600 બંને રીતે દલીલ હોઈ શકે છે. 605 00:27:33,600 --> 00:27:35,430 બેશક સારી. 606 00:27:35,430 --> 00:27:39,240 >> તેથી આપણે એક દંપતી પર એક નજર કરીએ મેમરી અન્ય આડઅસરો, 607 00:27:39,240 --> 00:27:41,610 ખોટું ન જઇ શકો છો કે જે વસ્તુઓ અને સાધનો કે જે તમે કરી શકો છો 608 00:27:41,610 --> 00:27:43,880 ભૂલો આ પ્રકારના પકડી ઉપયોગ કરે છે. 609 00:27:43,880 --> 00:27:47,800 તે છે, તેમ છતાં તમે બધા બહાર વળે check50, તમે ખૂબ જણાવ્યું નથી 610 00:27:47,800 --> 00:27:50,050 બગડેલ લખી કરવામાં આવી છે સપ્તાહ એક કારણ કોડ છે, 611 00:27:50,050 --> 00:27:53,630 બધા check50 પરીક્ષણો હોય તો પસાર, અને તો પણ તમે અને તમારા ટીએફ 612 00:27:53,630 --> 00:27:56,010 સુપર વિશ્વાસ છે હેતુ તરીકે તમારો કોડ કામ કરે છે. 613 00:27:56,010 --> 00:27:59,190 તમારો કોડ બગડેલ કરવામાં આવી છે અથવા તમે કે જે બધા અપૂર્ણ, 614 00:27:59,190 --> 00:28:02,540 CS50 પુસ્તકાલય ઉપયોગ કરીને, મેમરી લીક કરવામાં આવી છે. 615 00:28:02,540 --> 00:28:06,040 તમે ઓપરેટિંગ સિસ્ટમ પૂછ્યા કરવામાં આવ્યા છે કાર્યક્રમો મોટા ભાગના મેમરી માટે 616 00:28:06,040 --> 00:28:08,850 તમે તેવા પરચૂરણ ખર્ચ કર્યો છે, પરંતુ તમે કર્યું ખરેખર તે પાછા ક્યારેય આપવામાં. 617 00:28:08,850 --> 00:28:12,110 તમે GetString કહેવાય છે અને GetInt અને GetFloat, 618 00:28:12,110 --> 00:28:15,270 પરંતુ GetString સાથે, તમે કરેલા ungetstring અથવા આપો કહેવાય ક્યારેય 619 00:28:15,270 --> 00:28:19,890 શબ્દમાળા પાછા અથવા જેમ, પરંતુ અમે જોઇ છે GetString મેમરીને ફાળવવા કરે છે 620 00:28:19,890 --> 00:28:22,810 malloc માર્ગ અથવા આ દ્વારા માત્ર છે કે જે કાર્ય realloc, 621 00:28:22,810 --> 00:28:25,670 ભાવના ખૂબ સમાન છે, અને હજુ સુધી, અમે થયા છો 622 00:28:25,670 --> 00:28:28,629 માટે ઓપરેટિંગ સિસ્ટમ પૂછવા મેમરી અને મેમરી ફરીથી અને ફરીથી 623 00:28:28,629 --> 00:28:29,670 પરંતુ તે પાછા આપ્યા નથી. 624 00:28:29,670 --> 00:28:33,550 >> હવે, એક અલગ તરીકે, તે તારણ છે કે જે એક કાર્યક્રમ, મેમરી તમામ સરખેસરખા ત્યારે 625 00:28:33,550 --> 00:28:34,870 આપોઆપ મુક્ત કરવામાં આવે છે. 626 00:28:34,870 --> 00:28:36,150 તેથી તે એક વિશાળ સોદો નથી છે. 627 00:28:36,150 --> 00:28:38,590 તે તોડી નથી ચાલી રહ્યું છે IDE અથવા વસ્તુઓ ધીમી છે, 628 00:28:38,590 --> 00:28:40,670 પરંતુ જ્યારે કાર્યક્રમો કરી સામાન્ય રીતે મેમરી લીક 629 00:28:40,670 --> 00:28:42,170 અને તેઓ લાંબા સમય માટે ચલાવી રહ્યા છો. 630 00:28:42,170 --> 00:28:45,640 તમે ક્યારેય મૂર્ખ ઓછી જોવા મળે છે, તો મેક ઓએસ અથવા રેતીની ઘડિયાળ માં બીચ પર બોલ 631 00:28:45,640 --> 00:28:51,160 વિન્ડોઝ પર તે પ્રકારની જ્યાં ધીમી અથવા વિચારવાનો અથવા વિચારવાનો 632 00:28:51,160 --> 00:28:53,770 અથવા માત્ર ખરેખર શરૂ થાય છે એક ક્રોલ કરવા ધીમી, 633 00:28:53,770 --> 00:28:56,960 તે ખૂબ જ કદાચ હોઈ શકે મેમરી છિદ્ર પરિણામ. 634 00:28:56,960 --> 00:28:59,970 લખ્યું જે પ્રોગ્રામરો તમે ઉપયોગ કરી રહ્યાં છો સોફ્ટવેર 635 00:28:59,970 --> 00:29:03,570 મેમરી માટે ઓપરેટિંગ સિસ્ટમ પૂછો દર થોડા મિનિટ, દરેક કલાક. 636 00:29:03,570 --> 00:29:05,570 પરંતુ તમે ચલાવી રહ્યા છો, તો તે પણ જો સોફ્ટવેર, 637 00:29:05,570 --> 00:29:08,680 તમારા કમ્પ્યુટર માં ઘટાડી ઓવરને પર કલાકો કે દિવસો માટે, 638 00:29:08,680 --> 00:29:11,980 તમે વધુ અને વધુ માટે પૂછતી કરી શકે છે મેમરી અને ખરેખર ક્યારેય તેનો ઉપયોગ 639 00:29:11,980 --> 00:29:15,180 અને તેથી તમારા કોડ હોઈ શકે છે, અથવા શકે કાર્યક્રમો, મેમરી લીક થઈ શકે છે 640 00:29:15,180 --> 00:29:18,350 અને તમે મેમરી લીક શરૂ કરવા માટે, અન્ય કાર્યક્રમો માટે ઓછી મેમરી છે, 641 00:29:18,350 --> 00:29:21,220 અને અસર છે બધું ધીમી. 642 00:29:21,220 --> 00:29:23,600 >> હવે, આ અત્યાર સુધી એક છે સૌથી ભયાનક કાર્યક્રમો 643 00:29:23,600 --> 00:29:26,350 તમે તકો હશે CS50 માં ચલાવવા માટે ત્યાં સુધી 644 00:29:26,350 --> 00:29:31,650 તેના ઉત્પાદન કરતાં પણ વધુ વિશિષ્ટ છે, કારણ કે રણકાર અથવા બનાવી અથવા આદેશ કોઈપણ 645 00:29:31,650 --> 00:29:35,930 અમે પહેલાં સ્કોર કર્યો વાક્ય કાર્યક્રમો પરંતુ Thankfully, તેના ઉત્પાદન જડિત 646 00:29:35,930 --> 00:29:39,810 કેટલાક સુપર મદદરૂપ ટીપ્સ છે કે ઉપયોગી ક્યાં pset ચાર હશે 647 00:29:39,810 --> 00:29:41,510 અથવા ચોક્કસપણે પાંચ pset. 648 00:29:41,510 --> 00:29:44,250 તેથી Valgrind એક સાધન છે કે જોવા માટે વાપરી શકાય છે 649 00:29:44,250 --> 00:29:46,930 તમારા કાર્યક્રમ મેમરી લિક માટે. 650 00:29:46,930 --> 00:29:48,570 ચલાવવા માટે પ્રમાણમાં સરળ છે. 651 00:29:48,570 --> 00:29:51,420 તમે પણ Valgrind અને પછી ચલાવો તે થોડી વર્બોઝ છે છતાં, 652 00:29:51,420 --> 00:29:54,440 ડેશ ડેશ લીક ચેક સંપૂર્ણ બરાબર છે, અને પછી કોઈ 653 00:29:54,440 --> 00:29:56,320 સ્લેશ અને તમારા કાર્યક્રમ નામ. 654 00:29:56,320 --> 00:30:00,010 તેથી Valgrind પછી તમારા કાર્યક્રમ ચાલશે અને તમારા કાર્યક્રમ ખૂબ ઓવરને અંતે 655 00:30:00,010 --> 00:30:02,240 તે સરખેસરખા પહેલાં ચાલી રહ્યું હોય અને તમે બીજા પ્રોમ્પ્ટ આપે 656 00:30:02,240 --> 00:30:04,980 તે વિશ્લેષણ કરવા જઈ રહ્યું છે તમારા કાર્યક્રમ તે ચાલી રહ્યું છે, જ્યારે 657 00:30:04,980 --> 00:30:07,740 અને તમે લીક હતી TELL સારી હજુ સુધી કોઈ મેમરી અને, 658 00:30:07,740 --> 00:30:10,610 તમે મેમરી સ્પર્શ હતી કે તમે સંબંધ ન હતી? 659 00:30:10,610 --> 00:30:13,700 તે બધું પકડી શકે છે, પરંતુ તે મોટા ભાગની વસ્તુઓ મોહક પર ખૂબ સારી છે. 660 00:30:13,700 --> 00:30:19,700 >> તેથી અહીં મારા કર્યા રન એક ઉદાહરણ છે આ કાર્યક્રમ ચલાવો, Valgrind કર્યા, 661 00:30:19,700 --> 00:30:21,470 કહેવાય કાર્યક્રમ પર મેમરી, અને હું જાઉં છું 662 00:30:21,470 --> 00:30:24,730 છે કે લીટીઓ પ્રકાશિત કરવા માટે આખરે અમને રસ. 663 00:30:24,730 --> 00:30:27,690 તેથી પણ વધુ વિક્ષેપોમાં છે હું સ્લાઇડ માંથી કાઢી કર્યું છે. 664 00:30:27,690 --> 00:30:30,930 પરંતુ માત્ર આ શું જોવા દો કાર્યક્રમ અમને કહી સક્ષમ છે. 665 00:30:30,930 --> 00:30:34,800 તે અમને વસ્તુઓ કહેવાની સક્ષમ છે 4 કદ અમાન્ય લખવા માંગો. 666 00:30:34,800 --> 00:30:38,020 અન્ય શબ્દોમાં, તમે મેમરી સ્પર્શ તો, મેમરી ખાસ 4 બાઇટ્સ 667 00:30:38,020 --> 00:30:40,350 તમે ન હોવી જોઇએ કે, Valgrind તમે તે કહી શકે છે. 668 00:30:40,350 --> 00:30:41,660 4 કદ અમાન્ય લખો. 669 00:30:41,660 --> 00:30:43,640 તમે ચાર બાઇટ્સ સ્પર્શ તમે ન હોવી જોઇએ છે. 670 00:30:43,640 --> 00:30:44,840 જ્યાં તમે કે શું હતી? 671 00:30:44,840 --> 00:30:45,900 આ સુંદરતા છે. 672 00:30:45,900 --> 00:30:50,000 મેમરી ટપકું સી રેખા 21 જ્યાં તમે છે ખરાબ અને તે મદદરૂપ છે કે શા માટે છે. 673 00:30:50,000 --> 00:30:53,410 મોટા ભાગની GDB જેમ, તે મદદ કરી શકે છે વાસ્તવિક ભૂલ તમે નિર્દેશ કરે છે. 674 00:30:53,410 --> 00:30:57,170 >> હવે, આ એક થોડી વધુ છે વર્બોઝ ગૂંચવણમાં મૂકે ન હોય. 675 00:30:57,170 --> 00:31:01,307 1 બ્લોકમાં 40 બાઇટ્સ ચોક્કસપણે છે નુકશાન રેકોર્ડ 1 1 હારી. 676 00:31:01,307 --> 00:31:02,140 કે શું અર્થ છે? 677 00:31:02,140 --> 00:31:05,920 વેલ, તે માત્ર તમે માટે પૂછવામાં અર્થ એ થાય 40 બાઇટ્સ અને તમે તેને પાછા આપી નથી. 678 00:31:05,920 --> 00:31:08,930 તમે malloc કહેવાય અથવા તમે કહેવાય GetString અને ઓપરેટિંગ સિસ્ટમ 679 00:31:08,930 --> 00:31:12,450 તમે 40 બાઇટ્સ, પરંતુ તમે ક્યારેય આપ્યો મુક્ત કે મેમરી પ્રકાશિત થાય છે, 680 00:31:12,450 --> 00:31:15,400 અને વાજબી હોઇ શકે છે, અમે બતાવવા ક્યારેય કર્યું તમે કેવી રીતે મેમરી પાછા આપી. 681 00:31:15,400 --> 00:31:17,910 એક સુપર છે બહાર ફેંકે છે સરળ કાર્ય મફત કહેવાય છે. 682 00:31:17,910 --> 00:31:21,170 એક દલીલ, આ વસ્તુ લે તમે મફત અથવા પાછા આપવા માંગો છો 683 00:31:21,170 --> 00:31:23,430 પરંતુ 40 બાઇટ્સ, દેખીતી રીતે, આ કાર્યક્રમ 684 00:31:23,430 --> 00:31:27,300 વાક્ય પર જતું રહ્યું છે મેમરી 20 સી DOT. 685 00:31:27,300 --> 00:31:28,650 >> તેથી આપણે આ કાર્યક્રમ જોવા દો. 686 00:31:28,650 --> 00:31:31,020 તે સુપર નકામું છે. 687 00:31:31,020 --> 00:31:33,980 તે માત્ર ત્યારે જ દર્શાવે છે આ ચોક્કસ ભૂલ. 688 00:31:33,980 --> 00:31:34,920 તેથી આપણે એક નજર કરીએ. 689 00:31:34,920 --> 00:31:39,920 અહીં મુખ્ય અને મુખ્ય, નોટિસ, કહે છે એક કાર્ય એફ અને પછી વળતર કહેવાય છે. 690 00:31:39,920 --> 00:31:41,550 તેથી કે જે બધી રસપ્રદ નથી. 691 00:31:41,550 --> 00:31:42,664 એફ શું કરે છે? 692 00:31:42,664 --> 00:31:44,330 હું એક પ્રોટોટાઇપ સાથે સંતાપ ન હતી નોટિસ. 693 00:31:44,330 --> 00:31:46,520 હું કોડ રાખવા માગે શક્ય તેટલી મિનિમલ. 694 00:31:46,520 --> 00:31:49,530 તેથી હું મુખ્ય એફ ઉપર મૂકી અને કે, ચોક્કસપણે, દંડ છે 695 00:31:49,530 --> 00:31:51,500 આ જેમ ટૂંકા કાર્યક્રમો માટે. 696 00:31:51,500 --> 00:31:56,910 તેથી એફ કંઈપણ પાછા આવો અને નથી કરતું નથી કંઈપણ લે છે, પરંતુ તે આવું નથી. 697 00:31:56,910 --> 00:31:59,620 તે ખૂબ જેવા જાહેર આ Binky ઉદાહરણમાં, 698 00:31:59,620 --> 00:32:02,682 કે એક્સ કહેવાય નિર્દેશક રહ્યું છે પૂર્ણાંક સરનામું સંગ્રહવા માટે. 699 00:32:02,682 --> 00:32:03,890 તેથી તે ડાબી બાજુ છે. 700 00:32:03,890 --> 00:32:07,230 ઇંગલિશ માં, શું છે કરી જમણી બાજુ? 701 00:32:07,230 --> 00:32:09,770 કોઈપણ? 702 00:32:09,770 --> 00:32:13,665 આ અમારા માટે શું કરવાનું છે? 703 00:32:13,665 --> 00:32:14,651 અરે વાહ? 704 00:32:14,651 --> 00:32:16,623 >> AUDIENCE: [અશ્રાવ્ય] વખત પૂર્ણાંક માપ 705 00:32:16,623 --> 00:32:19,175 છે, જે 10 વખત કે [અશ્રાવ્ય] 706 00:32:19,175 --> 00:32:20,800 ડેવીડના MALAN: સારા અને મને સારાંશ દો. 707 00:32:20,800 --> 00:32:25,480 તેથી 10 પૂર્ણાંકો માટે પૂરતી જગ્યા ફાળવી અથવા 10 પૂર્ણાંક માપ શું છે 708 00:32:25,480 --> 00:32:29,340 તે 4 છે ચાર બાઇટ્સ, તેથી 10 ગુણ્યા 40, હું કર્યું કે જમણી બાજુ કે જેથી 709 00:32:29,340 --> 00:32:33,930 હાઈલાઇટ મને 40 બાઇટ્સ આપે છે અને પ્રથમ બાઇટ ની સરનામું સંગ્રહ 710 00:32:33,930 --> 00:32:34,940 X માં. 711 00:32:34,940 --> 00:32:38,380 અને હવે છેલ્લે, અને અહીં જ્યાં આ કાર્યક્રમ બગડેલ, શું છે 712 00:32:38,380 --> 00:32:41,540 રેખા 21 સાથે ખોટું કે તર્ક પર આધારિત છે? 713 00:32:41,540 --> 00:32:45,197 714 00:32:45,197 --> 00:32:46,280 શું રેખા 21 સાથે ખોટું છે? 715 00:32:46,280 --> 00:32:46,780 અરે વાહ? 716 00:32:46,780 --> 00:32:49,550 પ્રેક્ષક: તમે નથી કરી શકો છો [અશ્રાવ્ય] એક્સ માં ઇન્ડેક્સ. 717 00:32:49,550 --> 00:32:50,300 ડેવીડના MALAN: યાહ. 718 00:32:50,300 --> 00:32:52,270 હું કે જેમ X માં ઇન્ડેક્સ ન જોઈએ. 719 00:32:52,270 --> 00:32:53,850 તેથી વાક્યરચના અનુસાર, તે બરાબર છે. 720 00:32:53,850 --> 00:32:56,990 શું સારું છે તમે જેમ જ છે, ઝાકઝમાળ નામ સારવાર કરી શકે છે 721 00:32:56,990 --> 00:33:01,080 છતાં તે જ રીતે, એક નિર્દેશક છે તે છતાં તરીકે તમે એક નિર્દેશક સારવાર કરી શકે છે 722 00:33:01,080 --> 00:33:06,425 ઝાકઝમાળ, અને તેથી હું વાક્યરચના અનુસાર કરી શકો છો X કૌંસ કંઈક કહે છે, X કૌંસ હું, 723 00:33:06,425 --> 00:33:07,800 પરંતુ 10 સમસ્યાવાળા હોય છે. 724 00:33:07,800 --> 00:33:09,096 શા માટે? 725 00:33:09,096 --> 00:33:10,910 >> પ્રેક્ષક: તે અંદર નથી કારણ કે. 726 00:33:10,910 --> 00:33:12,390 >> ડેવીડના MALAN: તે નથી મેમરી કે ભાગ પર આધારિત છે. 727 00:33:12,390 --> 00:33:15,306 સૌથી કિંમત શું હું જોઈએ છે તે ચોરસ કૌંસ માં મૂકી શકાય? 728 00:33:15,306 --> 00:33:16,870 9 મારફતે 9 0. 729 00:33:16,870 --> 00:33:18,160 શૂન્ય ઈન્ડેક્સીંગ છે. 730 00:33:18,160 --> 00:33:20,190 તેથી 9 મારફતે 0 દંડ હશે. 731 00:33:20,190 --> 00:33:23,960 કૌંસ 10 સારી નથી અને પરંતુ, દરેક સમય છતાં યાદ 732 00:33:23,960 --> 00:33:27,017 હું CS50 IDE બનાવવા માટે પ્રયાસ લાગે છે બોગસ કિંમતો લખીને ક્રેશ, 733 00:33:27,017 --> 00:33:29,100 તે હંમેશા સહકાર નથી અને ખરેખર, તમે ઘણી વખત 734 00:33:29,100 --> 00:33:31,460 નસીબદાર વિચાર માત્ર કારણ કે ઓપરેટિંગ સિસ્ટમ નથી 735 00:33:31,460 --> 00:33:35,467 નોંધ્યું છે કે તમે અત્યાર સુધીમાં સહેજ મેમરી કેટલાક ભાગ પસાર કરવા માટે, 736 00:33:35,467 --> 00:33:38,300 તમે તકનીકી અંદર રોકાયા કારણ કે તમારા સેગમેન્ટમાં છે, પરંતુ વધુ કે પર 737 00:33:38,300 --> 00:33:40,940 ઓપરેટિંગ સિસ્ટમો વર્ગ, આ જેમ અને તેથી કંઈક 738 00:33:40,940 --> 00:33:43,000 ખૂબ જ સરળતાથી વણતપાસાયેલા જઈ શકે છે. 739 00:33:43,000 --> 00:33:48,120 તમારા કાર્યક્રમ ક્યારેય તૂટી રહ્યું છે સતત પરંતુ કદાચ ક્ષણભર માં એક વખત. 740 00:33:48,120 --> 00:33:50,610 >> અને તેથી આપણે Valgrind પ્રયાસ કરો આ પર, અને અહીં 741 00:33:50,610 --> 00:33:52,870 જ્યાં અમે ભરાઈ ગયાં મળશે ક્ષણભરમાં આઉટપુટ દ્વારા. 742 00:33:52,870 --> 00:34:00,810 તેથી મેમરી Valgrind લીક ચેક કરો સંપૂર્ણ કોઈ સ્લેશ મેમરી સમકક્ષ હોય છે. 743 00:34:00,810 --> 00:34:03,040 હું વચન શા માટે છે અને અહીં છે આ ભૂલાવી શકે છે. 744 00:34:03,040 --> 00:34:05,700 અહીં Valgrind, અહીં શું શું છે પ્રોગ્રામર, કેટલાક વર્ષો ago- 745 00:34:05,700 --> 00:34:08,469 તે એક સારો વિચાર હશે નક્કી કર્યું જેમ આઉટપુટ જોવા માટે. 746 00:34:08,469 --> 00:34:09,750 તેથી આપણે આ અર્થમાં બનાવવા દો. 747 00:34:09,750 --> 00:34:13,120 ડાબી બાજુ તેથી તમામ રીતે કોઈ વાજબી કારણ માટે બાજુ 748 00:34:13,120 --> 00:34:16,620 કાર્યક્રમ પ્રક્રિયા ID છે અમે હમણાં જ અનન્ય ઓળખકર્તા ચલાવવા 749 00:34:16,620 --> 00:34:18,030 આ કાર્યક્રમ માટે અમે ફક્ત ચાલી હતી. 750 00:34:18,030 --> 00:34:19,738 અમે કે કાઢી સ્લાઇડ, પરંતુ ત્યાં 751 00:34:19,738 --> 00:34:22,190 અહીં કેટલાક ઉપયોગી માહિતી છે. 752 00:34:22,190 --> 00:34:24,684 >> માતાનો ખૂબ જ ટોચ સુધી સ્ક્રોલ દો. 753 00:34:24,684 --> 00:34:25,600 અમે શરૂ કર્યું છે અહીં છે. 754 00:34:25,600 --> 00:34:27,040 તેથી તે બધા ખૂબ આઉટપુટ નથી. 755 00:34:27,040 --> 00:34:30,429 અહીં તે અમાન્ય લખવા છે રેખા 21 પરનું કદ 4. 756 00:34:30,429 --> 00:34:31,760 વેલ, રેખા 21 શું હતું? 757 00:34:31,760 --> 00:34:34,500 રેખા 21 બરાબર હતું આ અને તે અર્થમાં બનાવે છે 758 00:34:34,500 --> 00:34:37,290 હું validly છું કે હું છું કારણ કે 4 બાઇટ્સ લખવા 759 00:34:37,290 --> 00:34:40,389 આ પૂર્ણાંક મૂકવા પ્રયાસ કરી, જે કંઈપણ હોઈ શકે છે 760 00:34:40,389 --> 00:34:42,370 તે માત્ર બને છે શૂન્ય છે, પરંતુ હું પ્રયાસ કરી રહ્યો છું 761 00:34:42,370 --> 00:34:44,940 એક સ્થાન પર તે મૂકી કે મને સંબંધ નથી. 762 00:34:44,940 --> 00:34:50,900 એક વધુમાં, અહીં નીચે, 40 બાઇટ્સ બ્લોકો ચોક્કસપણે રેકોર્ડ 1 માં ખોવાઈ જાય છે. 763 00:34:50,900 --> 00:34:56,500 કે હું malloc કૉલ કારણ કે જ્યારે છે અહીં, હું ખરેખર મેમરી મુક્ત નથી. 764 00:34:56,500 --> 00:34:58,140 >> તેથી અમે કેવી રીતે આ ઠીક કરી શકે છે? 765 00:34:58,140 --> 00:35:02,970 મને આગળ જવા દો અને થોડી સુરક્ષિત હોઈ અને ત્યાં 9 કરવું અને અહીં મફત એક્સ મને દો. 766 00:35:02,970 --> 00:35:04,820 આ આજે નવા કાર્ય છે. 767 00:35:04,820 --> 00:35:11,520 હવે હું મેમરી કોઈ સ્લેશ બનાવવા પુનઃ ચલાવો તો, , તેને ફરીથી પર Valgrind ચલાવવા દો 768 00:35:11,520 --> 00:35:14,990 મારી બારી વધારવા અને Enter દબાવો. 769 00:35:14,990 --> 00:35:16,900 હવે, તે સારી છે. 770 00:35:16,900 --> 00:35:19,590 તેઓ સારા સમાચાર દફનાવી આ આઉટપુટ તમામ. 771 00:35:19,590 --> 00:35:20,810 બધા ઢગલો બ્લોકો મુક્ત હતા. 772 00:35:20,810 --> 00:35:23,604 અમે શું ઢગલો પાછા આવો પડશે છે, પરંતુ કોઈ લિક શક્ય છે. 773 00:35:23,604 --> 00:35:25,520 તેથી આ માત્ર અન્ય છે તમારા સાધન કીટ માટે સાધન 774 00:35:25,520 --> 00:35:30,220 જેની સાથે તમે શરૂ કરી શકો છો હવે તે જેવી ભૂલો શોધી. 775 00:35:30,220 --> 00:35:34,532 >> પરંતુ માતાનો જોવા દો શું વધુ ખોટું અહીં જઈ શકો છો. 776 00:35:34,532 --> 00:35:38,890 હવે સંક્રમણ દો ખરેખર એક સમસ્યા હલ. 777 00:35:38,890 --> 00:35:42,440 એક કોરે તરીકે, આ એક રાહત થશે તો મૂંઝવણ અથવા તણાવ થોડો, 778 00:35:42,440 --> 00:35:43,430 હવે આ રમુજી છે. 779 00:35:43,430 --> 00:35:46,400 780 00:35:46,400 --> 00:35:46,900 યાહ. 781 00:35:46,900 --> 00:35:49,040 તે ખૂબ સારી છે. 782 00:35:49,040 --> 00:35:50,890 પોઇન્ટર છે કારણ કે સરનામાં અને સરનામા 783 00:35:50,890 --> 00:35:53,098 સંમેલન દ્વારા સામાન્ય રીતે હોય છે હેક્સાડેસિમલ સાથે લખાયેલ છે. 784 00:35:53,098 --> 00:35:54,650 હા, હા, આ હવે રમુજી છે. 785 00:35:54,650 --> 00:35:58,390 Anyhow, તેથી હવે દો ખરેખર એક સમસ્યા ઉકેલવા માગે છે. 786 00:35:58,390 --> 00:36:00,840 આ સુપર રહી છે સુપર આમ અત્યાર સુધી નીચા સ્તર, 787 00:36:00,840 --> 00:36:03,950 અને અમે ખરેખર ઉપયોગી કરી શકો છો આ નીચા સ્તર વિગતો સાથે વસ્તુઓ. 788 00:36:03,950 --> 00:36:06,710 >> તેથી અમે થોડા અઠવાડિયા રજૂ પહેલા એક એરે ની કલ્પના. 789 00:36:06,710 --> 00:36:09,177 ઝાકઝમાળ સરસ હતી કારણ કે તે અમારી કોડ સાફ કરવા માટે હાર્ડ છે 790 00:36:09,177 --> 00:36:11,760 અમે એક લખવા માગતા હતા, કારણ કે જો બહુવિધ વિદ્યાર્થીઓ સાથે કાર્યક્રમ 791 00:36:11,760 --> 00:36:15,270 અથવા બહુવિધ નામો અને ઘરો અને ડોર્મસ અને કોલેજો અને તે બધા, 792 00:36:15,270 --> 00:36:19,430 અમે બધું વધુ સ્ટોર કરી શકે છે સ્વચ્છ એક એરે અંદર. 793 00:36:19,430 --> 00:36:23,039 પરંતુ એક નુકસાન એ છે કે પ્રસ્તાવ એક એરે આમ અત્યાર સુધી. 794 00:36:23,039 --> 00:36:26,080 તમે તેને જાતે નથી સહન કર્યું હોય તો પણ એક કાર્યક્રમમાં, માત્ર સહજ ભાવે, 795 00:36:26,080 --> 00:36:30,870 ખરાબ વસ્તુ શું છે એક એરે વિશે, કદાચ? 796 00:36:30,870 --> 00:36:32,337 હું કેટલાક મર્મર્સ સાંભળવા. 797 00:36:32,337 --> 00:36:34,170 પ્રેક્ષક: તે મુશ્કેલ છે માપ બદલવા માટે. 798 00:36:34,170 --> 00:36:36,128 ડેવીડના MALAN: તે મુશ્કેલ છે માપ બદલવા માટે. 799 00:36:36,128 --> 00:36:38,660 તમે માપ બદલી શકતા નથી એક એરે, હકીકતમાં, સે દીઠ 800 00:36:38,660 --> 00:36:43,040 સી માં તમે અન્ય એરે સ્થાપિત કરી શકે છે, જૂના એક બધું ખસેડવા 801 00:36:43,040 --> 00:36:45,380 હવે નવું, અને માં કેટલાક વધારાના જગ્યા હોય છે, 802 00:36:45,380 --> 00:36:47,469 પરંતુ તે એક ન ગમે છે જાવા અથવા Python જેવી ભાષાઓ 803 00:36:47,469 --> 00:36:49,760 અથવા અન્ય કોઇ નંબર જેની સાથે ભાષાઓ માટે તમે અમુક 804 00:36:49,760 --> 00:36:52,070 પરિચિત હોઈ શકે છે તમે માત્ર વસ્તુઓ ઉમેરી શકો છો 805 00:36:52,070 --> 00:36:53,930 એક એરે ઓવરને કંટાળો આવે ત્યાં સુધી. 806 00:36:53,930 --> 00:36:57,880 તમે એક એરે હોય છે, ત્યારે તેના કદ છે કે કદ 6, 807 00:36:57,880 --> 00:37:01,970 અને વિચાર અગાઉ જેવી ખૂબ ચોક્કસ કદના એક બફર કર્યા, 808 00:37:01,970 --> 00:37:05,940 તમે દરવાજો બહાર ધારી હોય છે માપ શું તમે તેને કરવા માંગો છો? 809 00:37:05,940 --> 00:37:07,880 તમે ખૂબ મોટી ધારી, તો તમે જગ્યા બગાડ કરી રહ્યાં છો. 810 00:37:07,880 --> 00:37:10,950 તમે ખૂબ નાની ધારી, તો તમે ઓછામાં ઓછું, કે ડેટા સ્ટોર કરી શકો છો 811 00:37:10,950 --> 00:37:12,940 ઘણો વધારે કામ વગર. 812 00:37:12,940 --> 00:37:18,180 >> પોઇન્ટર તેથી આજે, આભાર, અમે કરી શકો છો સાથે મળીને આપણા પોતાના વૈવિધ્યપૂર્ણ stitching શરૂ 813 00:37:18,180 --> 00:37:20,989 માહિતી માળખાં, અને હકીકત એ છે કે અહીં કંઈક છે 814 00:37:20,989 --> 00:37:23,030 કે થોડી વધુ દેખાય છે પ્રથમ નજરમાં છુપાયેલું છે, 815 00:37:23,030 --> 00:37:26,440 પરંતુ આ અમે એક કડી થયેલ કૉલ કરશો શું છે યાદી, અને સારાંશ તેના નામ પ્રકારની 816 00:37:26,440 --> 00:37:26,940 તે. 817 00:37:26,940 --> 00:37:29,550 તે નંબરો યાદી છે, અથવા આ કિસ્સામાં, નંબરો યાદી 818 00:37:29,550 --> 00:37:33,480 પરંતુ તે કશું યાદી હોય છે, પરંતુ શકે છે તે એક સાથે તીર માર્ગ દ્વારા જોડાયેલા છે 819 00:37:33,480 --> 00:37:36,380 અને માત્ર એક અનુમાન લેવા શું ટેકનિક સાથે 820 00:37:36,380 --> 00:37:38,310 અમે રજુ કરવાનો પ્રયત્ન કરવા જતા હોય છે એકસાથે ભાતનો ટાંકો માટે, 821 00:37:38,310 --> 00:37:42,540 પ્રકારની એક થ્રેડ સાથે પોપકોર્ન જેમ, અહીં યાદીઓ લંબચોરસ કડી? 822 00:37:42,540 --> 00:37:43,936 તેના નંબરો? 823 00:37:43,936 --> 00:37:45,560 અંતર્ગત ભાષા લક્ષણ શું છે? 824 00:37:45,560 --> 00:37:46,350 >> પ્રેક્ષક: એક નિર્દેશક. 825 00:37:46,350 --> 00:37:47,308 >> ડેવીડના MALAN: એક નિર્દેશક. 826 00:37:47,308 --> 00:37:51,700 તેથી આ તીર દરેક અહીં રજૂ એક નિર્દેશક અથવા માત્ર એક સરનામું. 827 00:37:51,700 --> 00:37:54,590 તેથી અન્ય શબ્દોમાં, હું માંગો છો, તો નંબરોની યાદી સંગ્રહવા માટે, 828 00:37:54,590 --> 00:37:59,040 જો હું માંગો છો હું માત્ર તેને સંગ્રહવા કરી શકો છો વૃદ્ધિ અને ઘટાડવાની ક્ષમતાને 829 00:37:59,040 --> 00:38:00,990 ઝાકઝમાળ મારા ડેટાને માળખું. 830 00:38:00,990 --> 00:38:03,000 તેથી હું થોડો કરવાની જરૂર છે વધુ વ્યવહારિકતા, કુશળતા, 831 00:38:03,000 --> 00:38:05,720 પરંતુ આ નોંધ્યું છે કે ચિત્ર પ્રકારની સૂચવે 832 00:38:05,720 --> 00:38:08,650 તમે માત્ર થોડી થ્રેડો મળી છે કે જો બધું મળીને જોડાઈ 833 00:38:08,650 --> 00:38:13,100 કદાચ જગ્યા બનાવવા માટે કે જે હાર્ડ નથી તે લંબચોરસ વચ્ચે બે 834 00:38:13,100 --> 00:38:16,750 અથવા તે ગાંઠો બે કે અમે શરૂ કરી શકશો નવી નોડ મૂકી, તેમને ફોન, 835 00:38:16,750 --> 00:38:19,547 અને પછી કેટલાક નવા થ્રેડ સાથે, માત્ર એકસાથે ત્રણ ગાંઠો ખાઈ, 836 00:38:19,547 --> 00:38:22,880 પ્રથમ એક, છેલ્લા એક છે, અને એક તમે માત્ર મધ્યમ દાખલ છે. 837 00:38:22,880 --> 00:38:26,000 >> અને ખરેખર એક કડી થયેલ યાદી ઝાકઝમાળ જેમ નહિં પણ, ગતિશીલ છે. 838 00:38:26,000 --> 00:38:27,840 તે પ્રગતિ કરી શકે છે અને તે કરી શકો છો સંકોચો અને જો તમે ન કરો 839 00:38:27,840 --> 00:38:32,434 ખબર હોય અથવા અગાઉથી કેવી રીતે કાળજી હોય છે ખૂબ માહિતી તમે સંગ્રહ કરી રહ્યા છીએ, 840 00:38:32,434 --> 00:38:35,600 પરંતુ તે અમે થોડી હોય છે બહાર વળે આ અમલ કરવા માટે કેવી રીતે કાળજી. 841 00:38:35,600 --> 00:38:39,070 તેથી પ્રથમ અમે અમલ કેવી રીતે વિચાર કરીએ આ થોડું લંબચોરસ છે. 842 00:38:39,070 --> 00:38:40,690 તે પૂર્ણાંક અમલ કરવા માટે સરળ છે. 843 00:38:40,690 --> 00:38:44,000 તમે માત્ર પછી પૂર્ણાંક n અને કહે છે તમે પૂર્ણાંક માટે 4 બાઇટ્સ વિચાર, 844 00:38:44,000 --> 00:38:49,089 પરંતુ હું પૂર્ણાંક કેવી રીતે મેળવી શકું, તે n કૉલ અને પછી એક નિર્દેશક, આગામી કૉલ કરો. 845 00:38:49,089 --> 00:38:50,880 અમે આ કહી શકે છે વસ્તુઓ અમે માંગો કંઈપણ 846 00:38:50,880 --> 00:38:53,590 પણ હું એક વૈવિધ્યપૂર્ણ માહિતી માળખું જરૂર છે. 847 00:38:53,590 --> 00:38:54,257 અરે વાહ? 848 00:38:54,257 --> 00:38:57,020 >> પ્રેક્ષક: 'નું ચિહ્ન [અશ્રાવ્ય]. 849 00:38:57,020 --> 00:39:00,940 >> ડેવીડના MALAN: તેથી ચિન્હ અમે ઉપયોગ કરશે સંભવિત નોડ સરનામું વિચાર. 850 00:39:00,940 --> 00:39:02,740 પરંતુ અમે અન્ય જરૂર સી લક્ષણ માટે 851 00:39:02,740 --> 00:39:06,700 મને બનાવવા માટે ક્ષમતા આપે છે આ વૈવિધ્યપૂર્ણ લંબચોરસ, આ વૈવિધ્યપૂર્ણ 852 00:39:06,700 --> 00:39:08,919 ચલ તમે યાદમાં, કરશે. 853 00:39:08,919 --> 00:39:09,710 પ્રેક્ષક: એક સ્ટ્રક્ટ. 854 00:39:09,710 --> 00:39:10,626 ડેવીડના MALAN: એક સ્ટ્રક્ટ. 855 00:39:10,626 --> 00:39:14,310 છેલ્લા અઠવાડિયે યાદ, અમે રજૂઆત કરી સ્ટ્રક્ટ, આ પ્રમાણમાં સિમ્પલ કીવર્ડ 856 00:39:14,310 --> 00:39:16,254 કે અમને આ જેવી વસ્તુઓ કરી શકો છો. 857 00:39:16,254 --> 00:39:18,420 સી ડેટા સાથે આવે ન હતી માળખું વિદ્યાર્થી કહેવાય છે. 858 00:39:18,420 --> 00:39:22,190 તે પૂર્ણાંક અને ફ્લોટ અને કોલસો બનાવો અને સાથે આવે છે જેમ કે, પરંતુ તે વિદ્યાર્થી સાથે ન કરવામાં આવે તો, 859 00:39:22,190 --> 00:39:26,750 પરંતુ અમે એક વિદ્યાર્થી ડેટા પ્રકાર બનાવી શકો છો, આ વાક્યરચના સાથે વિદ્યાર્થી માળખું, 860 00:39:26,750 --> 00:39:27,250 અહીં. 861 00:39:27,250 --> 00:39:28,350 અને તમે ફરીથી અને ફરીથી આ જોશો. 862 00:39:28,350 --> 00:39:30,426 તેથી વિશે ચિંતા કરશો નહીં કીવર્ડ્સ યાદ છે, 863 00:39:30,426 --> 00:39:33,300 પરંતુ મહત્વપૂર્ણ છે કે મુખ્ય શબ્દ છે અમે જણાવ્યું હતું કે માત્ર એ હકીકત સ્ટ્રક્ટ 864 00:39:33,300 --> 00:39:37,590 અને પછી અમે તેને વિદ્યાર્થી કહેવામાં આવે છે અને અંદર વિદ્યાર્થી એક નામ અને એક ઘર હતું 865 00:39:37,590 --> 00:39:39,390 એક ડોર્મ અથવા જેમ કે. 866 00:39:39,390 --> 00:39:41,980 >> અને તેથી હવે આજે, ચાલો આ પ્રસ્તાવ દો. 867 00:39:41,980 --> 00:39:45,240 હું થોડા શબ્દો ઉમેર્યાં, પણ જો હું માંગો છો કર્યું છે કે આ લંબચોરસ અમલ કરવા માટે 868 00:39:45,240 --> 00:39:48,440 પૂર્ણાંક અને બંને મળી નિર્દેશક, તમે, હું શું છું ખબર 869 00:39:48,440 --> 00:39:51,540 નોડ કહેવાય સ્ટ્રક્ટ જાહેર કરવા જઈ રહી છે. 870 00:39:51,540 --> 00:39:55,630 હું કહેવા જાઉં, તે અંદર પણ છું નોડ, આ લંબચોરસ, પૂર્ણાંક છે કે 871 00:39:55,630 --> 00:39:59,730 અને અમે તેને કહી શકશો એન અને તે આગામી નિર્દેશક છે. 872 00:39:59,730 --> 00:40:02,540 અને આ એક થોડો વર્બોઝ છે પરંતુ તમે તે વિશે વિચારો તો, 873 00:40:02,540 --> 00:40:07,300 ચિત્રમાં હતા કે તીર એક ક્ષણ પહેલા શું માહિતી પ્રકાર છે? 874 00:40:07,300 --> 00:40:12,330 જ્યાં તે તીર દરેક પોઇન્ટ છે માહિતી માળખું કયા પ્રકારનું છે? 875 00:40:12,330 --> 00:40:14,332 તે માત્ર સે દીઠ પૂર્ણાંક તરફ ઇશારો નથી. 876 00:40:14,332 --> 00:40:16,165 તે તરફ ઇશારો કરે છે સમગ્ર લંબચોરસ વસ્તુ 877 00:40:16,165 --> 00:40:18,720 અને તે લંબચોરસ વસ્તુ, અમે નોડ તરીકે ઓળખાય છે, જણાવ્યું હતું. 878 00:40:18,720 --> 00:40:21,720 અને તેથી અમે પ્રકારની હોય છે પુનરાવર્તિત આ જેમ વ્યાખ્યાયિત 879 00:40:21,720 --> 00:40:26,270 નોડ કે, અમે કહીએ છીએ, એ કહેવાય પૂર્ણાંક સમાવશે 880 00:40:26,270 --> 00:40:31,070 અને નિર્દેશક આગળ અને કહેવાય જે માહિતી બંધારણ પ્રકાર 881 00:40:31,070 --> 00:40:35,770 કે નિર્દેશક પોઇન્ટ દેખીતી રીતે છે સ્ટ્રક્ટ નોડ પ્રયત્ન જઈ રહી છે. 882 00:40:35,770 --> 00:40:41,550 >> તેથી આ annoyingly વર્બોઝ છે અને માત્ર વિદ્યાડબંરવાળું હોઈ 883 00:40:41,550 --> 00:40:44,100 કારણ શા માટે આપણે કરી શકતા નથી આ કહેવું છે, કે જે પ્રમાણિકપણે 884 00:40:44,100 --> 00:40:46,860 ઘણો વધુ વાંચનીય લાગે છે રિકોલ વાંચી છે કે સી કારણ કે 885 00:40:46,860 --> 00:40:48,710 વસ્તુઓ ઉપરથી નીચે સુધી, ડાબેથી જમણે. 886 00:40:48,710 --> 00:40:54,120 અમે અર્ધવિરામ વિચાર ત્યાં સુધી તે નથી શબ્દ નોડ ખરેખર અસ્તિત્વમાં છે. 887 00:40:54,120 --> 00:40:57,980 અમે આ પ્રકારની હોય છે માંગો છો, તો માહિતી અંદર ચક્રીય સંદર્ભ 888 00:40:57,980 --> 00:41:02,120 માળખું, અમે આ કરવા માટે હોય છે, જ્યાં અમે ટોચ પર સ્ટ્રક્ટ નોડ કહે છે કે જે 889 00:41:02,120 --> 00:41:06,770 અમને આ વર્ણન એક લાંબા માર્ગ આપે છે વસ્તુ, અમે સ્ટ્રક્ટ નોડ કહે છે પછી અંદર, 890 00:41:06,770 --> 00:41:09,560 અને પછી ખૂબ જ છેલ્લા વાક્ય પર અમે કહીએ છીએ, બધા હક છે, સી, જે રીતે દ્વારા, 891 00:41:09,560 --> 00:41:12,060 ફક્ત આ સમગ્ર ખરેખર કૉલ વસ્તુ નોડ અને બંધ 892 00:41:12,060 --> 00:41:14,360 એકસાથે શબ્દ સ્ટ્રક્ટ મદદથી. 893 00:41:14,360 --> 00:41:18,030 તેથી આ માત્ર પ્રકારની એક વાકયરચનામાં છે આખરે આપણને બનાવી દે છે કે યુક્તિ 894 00:41:18,030 --> 00:41:21,370 બરાબર આ જેવી લાગે છે કે કંઈક. 895 00:41:21,370 --> 00:41:25,010 >> આપણે હવે ધારે તો અમે કરી શકો છો જેથી સી માં આ વસ્તુ અમલમાં મૂકવા માટે, 896 00:41:25,010 --> 00:41:28,040 કેવી રીતે ખરેખર આપણે શું આ સરકાઉ શરૂ? 897 00:41:28,040 --> 00:41:32,360 વેલ, હકીકતમાં, અમે શું છે બધા છે જમણી અને માત્ર ડાબી ફરી વળવું 898 00:41:32,360 --> 00:41:35,960 પ્રકારની ગાંઠો સામેલ અથવા ગાંઠો કાઢી અથવા આપણે માંગો છો ત્યાં વસ્તુઓ શોધવા માટે, 899 00:41:35,960 --> 00:41:39,560 પરંતુ આ કરવા માટે, ચાલો આગળ વધો અને બનાવવા દો વસ્તુઓ થોડી વધુ વાસ્તવિક, કારણ કે આ 900 00:41:39,560 --> 00:41:42,560 આમ અત્યાર સુધી સુપર નીચા સ્તર રહી છે. 901 00:41:42,560 --> 00:41:45,700 કોઈને શાબ્દિક પ્રથમ હોઈ કરવા માંગો છો? 902 00:41:45,700 --> 00:41:46,200 ઠીક છે. 903 00:41:46,200 --> 00:41:47,092 પર આવો. 904 00:41:47,092 --> 00:41:47,800 તમારુ નામ શુ છે? 905 00:41:47,800 --> 00:41:48,499 >> ડેવિડ ડેવિડ. 906 00:41:48,499 --> 00:41:49,290 ડેવીડના MALAN: ડેવિડ. 907 00:41:49,290 --> 00:41:49,998 તમને મળી ને આનંદ થયો. 908 00:41:49,998 --> 00:41:50,960 હું પણ. 909 00:41:50,960 --> 00:41:52,450 બધા અધિકાર. 910 00:41:52,450 --> 00:41:53,990 અને અમે એક નંબર 9 જરૂર છે. 911 00:41:53,990 --> 00:41:55,240 તરીકે સારી નથી પ્રથમ છે, કદાચ. 912 00:41:55,240 --> 00:41:56,430 ઠીક છે, નંબર 9. 913 00:41:56,430 --> 00:41:59,667 એક નંબર 17, કૃપા કરીને. 914 00:41:59,667 --> 00:42:01,000 મને થોડી દૂર પાછા જઈએ. 915 00:42:01,000 --> 00:42:03,980 સંખ્યા 22, કૃપા કરીને, અને કેવી રીતે દૂર પાછા વિશે 916 00:42:03,980 --> 00:42:06,344 હું કોઇ પણ હાથ જોઈ શકો છો જો બધા પ્રકાશ અથવા કોઈ સાથે. 917 00:42:06,344 --> 00:42:08,010 કોઈને અધિકાર ત્યાં સ્વૈચ્છિક આવી રહી છે. 918 00:42:08,010 --> 00:42:08,968 તમે આવો માંગો છો? 919 00:42:08,968 --> 00:42:10,450 તમારા ડાબા હાથ બળજબરી ઉપર રહ્યું છે. 920 00:42:10,450 --> 00:42:12,340 17 બરાબર. 921 00:42:12,340 --> 00:42:13,690 22. 922 00:42:13,690 --> 00:42:15,120 26 નીચે આવતા હોય છે. 923 00:42:15,120 --> 00:42:18,450 અન્ય કોઈને પણ ગમશે forcefully-- પર આવો. 924 00:42:18,450 --> 00:42:21,030 એક વાસ્તવિક સ્વયંસેવક. 925 00:42:21,030 --> 00:42:23,330 >> તેથી ખૂબ જ ઝડપથી, તો તમે ગાય્ઝ વ્યવસ્થા કરી શકે છે 926 00:42:23,330 --> 00:42:26,550 પોતે માત્ર ગમે સ્ક્રીન પર ગાંઠો. 927 00:42:26,550 --> 00:42:27,510 આભાર. 928 00:42:27,510 --> 00:42:29,234 અને તમે 26 હશો. 929 00:42:29,234 --> 00:42:30,650 બધા અધિકાર અને ઝડપી પરિચય. 930 00:42:30,650 --> 00:42:32,139 તેથી હું ડેવિડ છું અને તમે પણ છે? 931 00:42:32,139 --> 00:42:32,680 ડેવિડ ડેવિડ. 932 00:42:32,680 --> 00:42:33,721 ડેવીડના MALAN: અને તમે છે? 933 00:42:33,721 --> 00:42:34,229 જેક: જેક. 934 00:42:34,229 --> 00:42:34,729 સુ: સુ. 935 00:42:34,729 --> 00:42:35,229 ALEX: એલેક્સ. 936 00:42:35,229 --> 00:42:36,475 રાફેલ: રાફેલ. 937 00:42:36,475 --> 00:42:37,100 TAYLOR: ટેલર. 938 00:42:37,100 --> 00:42:37,466 ડેવીડના MALAN: ટેલર. 939 00:42:37,466 --> 00:42:37,590 ઉત્તમ. 940 00:42:37,590 --> 00:42:39,810 તેથી આ અમારા સ્વયંસેવકો છે આજે અને આગળ વધો 941 00:42:39,810 --> 00:42:43,090 અને કે જે રીતે થોડો પાળી અને માત્ર આગળ વધો અને રાખવા 942 00:42:43,090 --> 00:42:47,024 તમે અથવા તમારા તરીકે તમારા નંબરો હોલ્ડિંગ પ્રથમ સાઇન અને તમારા ડાબા હાથ મદદથી 943 00:42:47,024 --> 00:42:48,940 આગળ વધો અને માત્ર અમલ આ તીર, માત્ર 944 00:42:48,940 --> 00:42:51,360 તમારા ડાબા હાથ શાબ્દિક અર્થ છે કે જેથી તમે નિર્દેશ કરીશું ગમે તરફ સંકેત 945 00:42:51,360 --> 00:42:54,610 અને જાતે કે જેથી અમુક જગ્યા આપે છે અમે દૃષ્ટિની ખરેખર તમારા હાથ જોઈ શકો છો 946 00:42:54,610 --> 00:42:58,120 પોઇન્ટ, અને તમે માત્ર નિર્દેશ કરી શકો છો પ્રકારની જમીન પર દંડ છે. 947 00:42:58,120 --> 00:43:03,040 >> તેથી અહીં અમે એક એક કડી થયેલ યાદી છે બે, ત્રણ, ચાર, પાંચ ગાંઠો શરૂઆતમાં, 948 00:43:03,040 --> 00:43:05,860 અને અમે આ ખાસ છે નોટિસ જે શરૂઆતમાં નિર્દેશક 949 00:43:05,860 --> 00:43:09,770 કી અમે ટ્રેક રાખવા માટે હોય છે, કારણ કે સમગ્ર લંબાઈ યાદી કોઈક. 950 00:43:09,770 --> 00:43:13,590 તેઓ છોડી રહ્યાં છો, તેમ છતાં આ ગાય્ઝ, જમણી પાછા મેમરી પાછળ, 951 00:43:13,590 --> 00:43:15,950 તેઓ ખરેખર ગમે ત્યાં હોઈ શકે કમ્પ્યુટરની મેમરી છે. 952 00:43:15,950 --> 00:43:18,240 તેથી આ ગાય્સ હોઈ શકે છે સ્ટેજ પર ગમે ત્યાં સ્થાયી 953 00:43:18,240 --> 00:43:20,960 અને તેથી કે જે લાંબા સમય સુધી તેઓ છો તરીકે દંડ છે, ખરેખર એક બીજા પર પોઇન્ટ, 954 00:43:20,960 --> 00:43:22,770 પરંતુ બધી વસ્તુઓ રાખવા સ્વચ્છ અને સરળ, અમે પડશે 955 00:43:22,770 --> 00:43:25,728 માત્ર તેમને ડ્રો જેવા અધિકાર માટે છોડી આ છે, પરંતુ મોટા ગાબડા હોય હોઈ શકે છે 956 00:43:25,728 --> 00:43:26,790 તે ગાંઠો વચ્ચે. 957 00:43:26,790 --> 00:43:30,710 >> હવે, હું વાસ્તવમાં કેટલાક સામેલ કરવા માંગો છો નવી કિંમત, ચાલો આગળ વધો અને આ કરવા દો. 958 00:43:30,710 --> 00:43:33,720 હવે અમે એક તક છે અન્ય નોડ પસંદ કરો. 959 00:43:33,720 --> 00:43:39,820 55 mallocing સાથે બંધ શરૂ કરીએ છીએ. 960 00:43:39,820 --> 00:43:41,320 કોઈને malloc હોવા વાંધો છે? 961 00:43:41,320 --> 00:43:42,280 ઠીક છે, પર આવે છે. 962 00:43:42,280 --> 00:43:42,992 તમારુ નામ શુ છે? 963 00:43:42,992 --> 00:43:43,700 રેઈન્બો: રેઈન્બો. 964 00:43:43,700 --> 00:43:44,050 ડેવીડના MALAN: રેઈન્બો? 965 00:43:44,050 --> 00:43:44,810 બધા અધિકાર. 966 00:43:44,810 --> 00:43:46,600 Malloc રેઈન્બો. 967 00:43:46,600 --> 00:43:47,450 પર આવો. 968 00:43:47,450 --> 00:43:51,610 તેથી હવે આપણે આપણી જાતને પૂછી ઍલ્ગરિધમનો અમે 55 મૂકી શકો છો જ્યાં. 969 00:43:51,610 --> 00:43:53,610 તેથી અમને તમામ ખબર, દેખીતી રીતે, જ્યાં તે કદાચ 970 00:43:53,610 --> 00:43:55,401 અમે પ્રયાસ કરી રહ્યાં છો, તો અનુસરે આ સૉર્ટ રાખવા 971 00:43:55,401 --> 00:43:58,299 અને તમે ગાય્ઝ એક લઇ શકે છે તો પાછા પગલું તેથી અમે બંધ કરાયું નથી 972 00:43:58,299 --> 00:43:59,590 સ્ટેજ, કે જે મહાન હશે. 973 00:43:59,590 --> 00:44:01,420 તેથી વાસ્તવમાં, સપ્તરંગી, મારી સાથે અહીં શરૂ કરવા માટે, 974 00:44:01,420 --> 00:44:04,200 કારણ કે અમે હવે કરી શકો છો કમ્પ્યુટર તરીકે એક સમયે માત્ર એક ચલ જુઓ. 975 00:44:04,200 --> 00:44:05,190 આ પ્રથમ નોડ છે તેથી જો. 976 00:44:05,190 --> 00:44:07,160 તેમણે એક નોડ નથી નોટિસ તેમણે માત્ર એક નિર્દેશક છે 977 00:44:07,160 --> 00:44:10,270 તેમણે પ્રયત્ન દોરવામાં છે અને તે શા માટે છે એક નિર્દેશક માત્ર કદ નથી 978 00:44:10,270 --> 00:44:11,780 તે સંપૂર્ણ લંબચોરસ છે. 979 00:44:11,780 --> 00:44:16,650 તેથી અમે દરેક ખાતે તપાસ જઈ રહ્યાં છો પુનરાવૃત્તિ 9 કરતાં 55 ઓછા છે? 980 00:44:16,650 --> 00:44:17,150 નંબર 981 00:44:17,150 --> 00:44:19,060 17 કરતાં 55 ઓછા છે? 982 00:44:19,060 --> 00:44:19,720 નંબર 983 00:44:19,720 --> 00:44:20,800 22 કરતાં ઓછી? 984 00:44:20,800 --> 00:44:22,020 26 કરતાં ઓછી? 985 00:44:22,020 --> 00:44:23,390 34 કરતાં ઓછી? 986 00:44:23,390 --> 00:44:25,890 અને તેથી હવે, દેખીતી રીતે રેઈન્બો ઓવરને અંતે અનુસરે છે. 987 00:44:25,890 --> 00:44:27,270 તેથી સ્પષ્ટ હોઈ શકે છે, અને શું તમારું નામ, ટેલર હતો? 988 00:44:27,270 --> 00:44:27,895 >> TAYLOR: ટેલર. 989 00:44:27,895 --> 00:44:32,510 ડેવીડના MALAN: ટેલર વચ્ચે એટલી ડાબી બાજુ અને અહીં રેઈન્બો હાથ, 990 00:44:32,510 --> 00:44:38,324 જેની પાસેથી શું નિર્દેશ કરવાની જરૂર છે આ યાદી માં 55 દાખલ કરવા માટે ઓર્ડર? 991 00:44:38,324 --> 00:44:39,240 અમે શું કરવાની જરૂર છે? 992 00:44:39,240 --> 00:44:39,700 અરે વાહ? 993 00:44:39,700 --> 00:44:41,140 >> પ્રેક્ષક: ટેલર હાથ ડાબી નિર્દેશ કરવાની જરૂર છે. 994 00:44:41,140 --> 00:44:41,680 >> ડેવીડના MALAN: ચોક્કસ. 995 00:44:41,680 --> 00:44:43,800 તેથી નોડ દાખલ આ યાદી ઓવરને માં 996 00:44:43,800 --> 00:44:47,140 ખૂબ સરળ છે કારણ કે ટેલર માત્ર જમીન પર, તેના બદલે નિર્દેશ છે 997 00:44:47,140 --> 00:44:49,640 અથવા આપણે નલ તે કહી શકશો નલ ગેરહાજરીમાં જેવું છે 998 00:44:49,640 --> 00:44:51,640 એક નિર્દેશક અથવા ખાસ શૂન્ય નિર્દેશક, તમે છો 999 00:44:51,640 --> 00:44:53,740 તમારા ડાબા સાથે બિંદુ પર જઈને હાથ રેઈન્બો અને પછી રેઈન્બો પર, 1000 00:44:53,740 --> 00:44:55,910 જ્યાં તમારા ડાબા જોઈએ હાથ કદાચ નિર્દેશ? 1001 00:44:55,910 --> 00:44:56,570 ડાઉન. 1002 00:44:56,570 --> 00:45:00,140 તેના હાથ જેવું છે, તો તે સારું નથી અહીં અથવા સૉર્ટ કોઇ બંધ તરફ 1003 00:45:00,140 --> 00:45:00,640 જે રીતે. 1004 00:45:00,640 --> 00:45:02,407 કે માનવામાં આવશે એક કચરો કિંમત 1005 00:45:02,407 --> 00:45:04,240 પરંતુ તે માટે પોઇન્ટ જો કેટલાક જાણીતા કિંમત, અમે પડશે 1006 00:45:04,240 --> 00:45:07,360 શૂન્ય અથવા નલ કૉલ, તે બરાબર છે અમે આ એક શબ્દ છે, કારણ કે 1007 00:45:07,360 --> 00:45:09,390 અને અમે યાદી હવે સમાપ્ત છે ખબર. 1008 00:45:09,390 --> 00:45:11,550 >> તેથી શું બીજા છે પ્રમાણમાં સરળ કેસ? 1009 00:45:11,550 --> 00:45:13,125 અમે 5 malloc શકે છે? 1010 00:45:13,125 --> 00:45:14,010 પર આવો. 1011 00:45:14,010 --> 00:45:14,782 તમારુ નામ શુ છે? 1012 00:45:14,782 --> 00:45:15,490 ટિફની: ટિફની. 1013 00:45:15,490 --> 00:45:16,000 ડેવીડના MALAN: હું દિલગીર છું? 1014 00:45:16,000 --> 00:45:16,470 ટિફની: ટિફની. 1015 00:45:16,470 --> 00:45:16,880 ડેવીડના MALAN: ટિફની. 1016 00:45:16,880 --> 00:45:17,110 બધા અધિકાર. 1017 00:45:17,110 --> 00:45:19,071 ટિફની malloced કરવામાં આવી છે કિંમત 5. 1018 00:45:19,071 --> 00:45:19,570 પર આવો. 1019 00:45:19,570 --> 00:45:23,820 આ એક ખૂબ પ્રમાણમાં સરળ છે, પરંતુ હવે ઓપરેશન્સ ઓફ ઓર્ડર પર વિચાર કરીએ. 1020 00:45:23,820 --> 00:45:25,820 તે ખૂબ સરળ હતો અંતે ટેલર સાથે. 1021 00:45:25,820 --> 00:45:30,302 સંખ્યા 5, અલબત્ત કરતાં ઓછી 9 છે અને તેથી અમે ટિફની છે, ડેવિડ છે 1022 00:45:30,302 --> 00:45:31,260 અને તમારું નામ શું હતું? 1023 00:45:31,260 --> 00:45:31,680 >> જેક: જેક. 1024 00:45:31,680 --> 00:45:32,470 >> ડેવીડના MALAN: જેક. 1025 00:45:32,470 --> 00:45:34,300 ટિફની, જેક, અને ડેવિડ. 1026 00:45:34,300 --> 00:45:36,580 જેની હાથ પ્રથમ સુધારાશે જોઇએ? 1027 00:45:36,580 --> 00:45:39,260 1028 00:45:39,260 --> 00:45:40,590 શું તમે અહીં શું કરવા માંગો છો? 1029 00:45:40,590 --> 00:45:45,244 એક દંપતિ શક્ય માર્ગો છે, પરંતુ એક અથવા વધુ ખોટું રીતે પણ છે. 1030 00:45:45,244 --> 00:45:46,620 >> પ્રેક્ષક: leftmost સાથે શરૂ કરો. 1031 00:45:46,620 --> 00:45:47,800 >> ડેવીડના MALAN: આ leftmost સાથે શરૂ કરો. 1032 00:45:47,800 --> 00:45:49,008 કોણ પછી અહીં leftmost છે? 1033 00:45:49,008 --> 00:45:49,700 પ્રેક્ષક: પ્રથમ. 1034 00:45:49,700 --> 00:45:50,366 >> ડેવીડના MALAN: બરાબર. 1035 00:45:50,366 --> 00:45:53,781 તેથી પ્રથમ સાથે શરૂ કરો અને તમે ક્યાં કરી ડેવિડ હાથ હોઈ અપડેટ કરવા માંગો છો? 1036 00:45:53,781 --> 00:45:54,780 પ્રેક્ષક: 5 તરફ. 1037 00:45:54,780 --> 00:45:55,446 ડેવીડના MALAN: બરાબર. 1038 00:45:55,446 --> 00:45:59,026 પાંચ અંતે દાઉદ, બિંદુ અથવા ટિફની અહીં છે, અને હવે? 1039 00:45:59,026 --> 00:46:01,072 >> પ્રેક્ષક: ટિફની 9 નિર્દેશ? 1040 00:46:01,072 --> 00:46:04,030 ડેવીડના MALAN: પરફેક્ટ, માતાનો Binky સિવાય વડા માત્ર પ્રકારની અધિકાર છે, બંધ પડી? 1041 00:46:04,030 --> 00:46:06,820 સાથે ખોટું શું છે કારણ કે શાબ્દિક આ ચિત્ર? 1042 00:46:06,820 --> 00:46:08,070 પ્રેક્ષક: કંઈ પોઇન્ટ છે. 1043 00:46:08,070 --> 00:46:09,945 ડેવીડના MALAN: કંઈ છે હવે જેક માટે પોઇન્ટ. 1044 00:46:09,945 --> 00:46:13,360 અમે શાબ્દિક 9 અનાથ કર્યું અને 17 છે, અને અમે શાબ્દિક કર્યું 1045 00:46:13,360 --> 00:46:18,450 આ મેમરી બધા લીક દ્વારા કારણ કે પ્રથમ દાઊદના હાથમાં અપડેટ, કે 1046 00:46:18,450 --> 00:46:21,660 તે યોગ્ય રીતે છે, કારણ કે ત્યાં સુધી દંડ હવે ટિફની પર પોઇન્ટ, 1047 00:46:21,660 --> 00:46:25,410 પરંતુ કોઈ એક હતી, જો જેક અંતે નિર્દેશ કરવા અગમચેતી, 1048 00:46:25,410 --> 00:46:27,490 પછી અમે ગુમાવી કર્યું કે યાદી સમગ્ર. 1049 00:46:27,490 --> 00:46:28,200 તેથી આપણે પૂર્વવત્ દો. 1050 00:46:28,200 --> 00:46:30,950 તેથી તે એક સારી વાત હતી સફર પરંતુ હવે યોગ્ય દો. 1051 00:46:30,950 --> 00:46:33,624 આપણે સૌથી પહેલા શું તેના બદલે શું કરવું જોઈએ? 1052 00:46:33,624 --> 00:46:34,124 અરે વાહ? 1053 00:46:34,124 --> 00:46:35,791 >> પ્રેક્ષક: ટિફની 9 નિર્દેશ જોઈએ? 1054 00:46:35,791 --> 00:46:37,582 ડેવીડના MALAN: હું નથી કરી શકો છો તમે કે બંધ વિચાર. 1055 00:46:37,582 --> 00:46:38,720 9 કોણ નિર્દેશ જોઈએ? 1056 00:46:38,720 --> 00:46:39,220 >> પ્રેક્ષક: ટિફની. 1057 00:46:39,220 --> 00:46:39,390 >> ડેવીડના MALAN: બધા અધિકાર. 1058 00:46:39,390 --> 00:46:41,200 તેથી ટિફની 9 પ્રથમ નિર્દેશ જોઈએ. 1059 00:46:41,200 --> 00:46:43,550 તેથી ટિફની લેવી જોઈએ એક સરખા કિંમત પર 1060 00:46:43,550 --> 00:46:45,820 ડેવિડ, જે લાગે છે એક ક્ષણ માટે બિનજરૂરી, 1061 00:46:45,820 --> 00:46:48,820 પરંતુ તે બીજું, કારણ કે હવે દંડ છે પગલું, અમે દાઊદના હાથમાં અપડેટ કરી શકો છો 1062 00:46:48,820 --> 00:46:52,680 ટિફની પર, અને પછી તો નિર્દેશ અમે ફક્ત પ્રકારની વસ્તુઓ સાફ અપ 1063 00:46:52,680 --> 00:46:55,740 આ વસંત જેવા પ્રકારની છે છતાં, હવે તે એક યોગ્ય નિવેશ છે. 1064 00:46:55,740 --> 00:46:56,700 તેથી ઉત્તમ. 1065 00:46:56,700 --> 00:46:57,970 તેથી હવે અમે લગભગ ત્યાં છો. 1066 00:46:57,970 --> 00:47:01,075 માતાનો એક અંતિમ દાખલ કરો કિંમત 20 મૂલ્ય. 1067 00:47:01,075 --> 00:47:03,010 અમે એક અંતિમ સ્વયંસેવક malloc શકે તો શું? 1068 00:47:03,010 --> 00:47:04,140 પર આવો. 1069 00:47:04,140 --> 00:47:06,224 તેથી આ એક થોડી વધુ મુશ્કેલ છે. 1070 00:47:06,224 --> 00:47:08,390 પરંતુ ખરેખર, આ કોડ અમે છો લેખન, મૌખિક, તેમ છતાં 1071 00:47:08,390 --> 00:47:10,610 માત્ર એક ટોળું કર્યા જેવી છે હવે શરતો અધિકાર હોય તો શું? 1072 00:47:10,610 --> 00:47:12,318 અમે એક શરત હતી તે અનુસરે તો ચકાસણી 1073 00:47:12,318 --> 00:47:13,840 અંતે, કદાચ શરૂઆતમાં. 1074 00:47:13,840 --> 00:47:15,940 અમે લૂપ અમુક પ્રકારની જરૂર છે મધ્યમાં સ્થળ શોધવા. 1075 00:47:15,940 --> 00:47:17,400 તેથી આપણે તમારું નામ શું છે સાથે તે કરવા દો? 1076 00:47:17,400 --> 00:47:17,700 >> એરિક એરિક. 1077 00:47:17,700 --> 00:47:18,340 >> ડેવીડના MALAN: એરિક? 1078 00:47:18,340 --> 00:47:18,660 એરિક. 1079 00:47:18,660 --> 00:47:19,368 તમને મળી ને આનંદ થયો. 1080 00:47:19,368 --> 00:47:20,490 તેથી અમે 20 હોય છે. 1081 00:47:20,490 --> 00:47:21,220 પાંચ કરતા ઓછી? 1082 00:47:21,220 --> 00:47:21,530 નંબર 1083 00:47:21,530 --> 00:47:22,160 નવ કરતા ઓછા? 1084 00:47:22,160 --> 00:47:22,410 નંબર 1085 00:47:22,410 --> 00:47:23,050 17 કરતાં ઓછી? 1086 00:47:23,050 --> 00:47:23,550 નંબર 1087 00:47:23,550 --> 00:47:23,740 ઠીક છે. 1088 00:47:23,740 --> 00:47:25,701 તેમણે અહીં અનુલક્ષે છે અને તમારા નામ ફરીથી છે? 1089 00:47:25,701 --> 00:47:26,200 સુ: સુ. 1090 00:47:26,200 --> 00:47:26,880 ડેવીડના MALAN: સુ. 1091 00:47:26,880 --> 00:47:27,379 ALEX: એલેક્સ. 1092 00:47:27,379 --> 00:47:28,790 ડેવીડના MALAN: સુ, એલેકસ, અને? 1093 00:47:28,790 --> 00:47:29,290 એરિક એરિક. 1094 00:47:29,290 --> 00:47:30,120 ડેવીડના MALAN: એરિક. 1095 00:47:30,120 --> 00:47:32,140 જેની હાથ પ્રથમ સુધારાશે કરવાની જરૂર છે? 1096 00:47:32,140 --> 00:47:32,930 >> પ્રેક્ષક: એરિક. 1097 00:47:32,930 --> 00:47:33,429 ઠીક છે. 1098 00:47:33,429 --> 00:47:35,200 તેથી એરિક જ્યાં અંતે નિર્દેશ જોઈએ? 1099 00:47:35,200 --> 00:47:35,930 22 મુ. 1100 00:47:35,930 --> 00:47:36,430 સારી. 1101 00:47:36,430 --> 00:47:38,180 અને હવે આગામી શું છે? 1102 00:47:38,180 --> 00:47:40,800 દાવો પછી એરિક પર નિર્દેશ કરી શકો છો અને હવે, જો તમે ગાય્સ માત્ર 1103 00:47:40,800 --> 00:47:44,077 જે સારું હોય છે અમુક જગ્યા બનાવવા દૃષ્ટિની, હવે અમે નિવેશ કર્યું છે. 1104 00:47:44,077 --> 00:47:47,160 તેથી હવે એક પ્રશ્ન પર વિચાર કરીએ પરંતુ અમારા સ્વયંસેવકો માટે ખૂબ આભાર. 1105 00:47:47,160 --> 00:47:48,090 ખૂબ જ સારી રીતે થાય છે. 1106 00:47:48,090 --> 00:47:50,831 તમને ગમે તો, તે રાખી શકો છો. 1107 00:47:50,831 --> 00:47:54,140 અને અમે એક અતિસુંદર વિદાય ભેટ, જો હોય તમે દરેક એક તણાવ બોલ લેવા માંગો છો. 1108 00:47:54,140 --> 00:47:56,030 મને ફક્ત આ નીચે પસાર કરીએ. 1109 00:47:56,030 --> 00:47:58,430 તેથી આ takeaway શું છે? 1110 00:47:58,430 --> 00:48:02,430 આ અમેઝિંગ હોય તેમ લાગે છે અમે હવે હોય ત્યાં સુધી તરીકે 1111 00:48:02,430 --> 00:48:06,360 એક માટે વૈકલ્પિક રજૂ જેથી મર્યાદિત નથી કે એરે 1112 00:48:06,360 --> 00:48:07,780 કેટલાક નિશ્ચિત કદ એક એરે માટે. 1113 00:48:07,780 --> 00:48:09,380 તેઓ ગતિશીલ પ્રગતિ કરી શકે છે. 1114 00:48:09,380 --> 00:48:13,220 >> પરંતુ અમે જેમ જ અઠવાડિયામાં જોઇ ભૂતકાળમાં, અમે મફત માટે કંઈ ક્યારેય વિચાર 1115 00:48:13,220 --> 00:48:15,740 જેવા ચોક્કસ અહીં એક વેપાર બોલ છે. 1116 00:48:15,740 --> 00:48:18,890 એક કડી થયેલ એક ઊંધો તેથી યાદી આ dynamism છે? 1117 00:48:18,890 --> 00:48:21,590 આ ક્ષમતા, પ્રમાણિકપણે વૃદ્ધિ પામે છે અને માટે અમે કાઢી કરી શકે છે 1118 00:48:21,590 --> 00:48:23,570 જરૂરી અને અમે સંકોચો શકે છે. 1119 00:48:23,570 --> 00:48:24,710 અમે શું કિંમત ચૂકવીને કરવામાં આવે છે? 1120 00:48:24,710 --> 00:48:28,510 1121 00:48:28,510 --> 00:48:30,340 બે વખત સૌ પ્રથમ જ જગ્યા ધરાવે છે. 1122 00:48:30,340 --> 00:48:34,010 તમે ચિત્ર પર નજર કરો તો, લાંબા સમય સુધી છું હું પૂર્ણાંકો યાદી સ્ટોર. 1123 00:48:34,010 --> 00:48:36,740 હું એક યાદી સ્ટોર છું પૂર્ણાંકો વત્તા પોઇન્ટર. 1124 00:48:36,740 --> 00:48:38,240 તેથી હું જગ્યાનો જથ્થો બમણો રહ્યો છું. 1125 00:48:38,240 --> 00:48:40,740 હવે, કદાચ કે આવા નથી એક મોટો સોદો 4 બાઇટ્સ, 8 બાઇટ્સ, 1126 00:48:40,740 --> 00:48:43,160 પરંતુ તે ચોક્કસપણે ઉમેરો કરી શકે છે મોટા માહિતી સમૂહો માટે. 1127 00:48:43,160 --> 00:48:45,570 અન્ય નુકસાન શું છે? 1128 00:48:45,570 --> 00:48:46,070 અરે વાહ? 1129 00:48:46,070 --> 00:48:48,010 >> પ્રેક્ષક: અમે છે તેમને એક બાય એક પસાર થાય છે. 1130 00:48:48,010 --> 00:48:48,760 ડેવીડના MALAN: યાહ. 1131 00:48:48,760 --> 00:48:50,260 અમે તેમને એક બાય એક પસાર હોય છે. 1132 00:48:50,260 --> 00:48:53,860 જો અમે આ સુપર આપ્યો શું ખબર ચોરસ કૌંસ અનુકૂળ લક્ષણ 1133 00:48:53,860 --> 00:48:57,240 સંકેત, વધુ યોગ્ય રેન્ડમ ઍક્સેસ તરીકે ઓળખાય છે, 1134 00:48:57,240 --> 00:48:59,280 અમે માત્ર જમ્પ કરી શકો છો જ્યાં વ્યક્તિગત તત્વ 1135 00:48:59,280 --> 00:49:01,470 પરંતુ હવે હું હજુ પણ હતી, તો અહીં મારા સ્વયંસેવકો, 1136 00:49:01,470 --> 00:49:04,660 હું શોધવા માટે ઇચ્છતા હોય તો નંબર 22, હું માત્ર નથી કરી શકો છો 1137 00:49:04,660 --> 00:49:06,620 કૌંસ કંઈક કંઈક આવો. 1138 00:49:06,620 --> 00:49:10,530 હું ખૂબ, ઉપર યાદી જોવા માટે હોય છે સરખી અમારી શોધ ઉદાહરણો જેમ, 1139 00:49:10,530 --> 00:49:12,260 સંખ્યા 22 શોધવા માટે. 1140 00:49:12,260 --> 00:49:14,340 તેથી અમે ત્યાં કિંમત ચૂકવી પડી છે એવું લાગે છે. 1141 00:49:14,340 --> 00:49:16,430 પરંતુ અમે તેમ છતાં કરી શકો છો અન્ય સમસ્યાઓ ઉકેલવા માગે છે. 1142 00:49:16,430 --> 00:49:18,587 >> હકીકતમાં, મને પરિચય દો દ્રશ્યો માત્ર એક દંપતિ. 1143 00:49:18,587 --> 00:49:20,920 તમે નીચે કરવામાં આવી છે તેથી જો માથેર ડાઇનિંગ હોલ તાજેતરમાં, 1144 00:49:20,920 --> 00:49:23,320 તમે કે યાદ પડશે તેમના આ જેમ ટ્રે રન ટાઇમ સ્ટેકનું, 1145 00:49:23,320 --> 00:49:26,300 અમે આ ઉધાર વર્ગ પહેલાં Annenberg. 1146 00:49:26,300 --> 00:49:28,930 તેથી ટ્રે આ સ્ટેક છે, જોકે, પ્રતિનિધિ ખરેખર છે 1147 00:49:28,930 --> 00:49:30,860 કમ્પ્યુટર સાયન્સ માહિતી માળખું. 1148 00:49:30,860 --> 00:49:32,910 એ માહિતી બંધારણ છે કોમ્પ્યુટર વિજ્ઞાન 1149 00:49:32,910 --> 00:49:38,010 એક સ્ટેક તરીકે ઓળખાય છે, જે ખૂબ જ સરસ રીતે બરાબર આ દ્રશ્ય પોતે પૂરું પાડે છે. 1150 00:49:38,010 --> 00:49:41,380 આ ટ્રે દરેક ન હોય તો તેથી ટ્રે પરંતુ એક નંબર જેવી અને હું ઈચ્છતો 1151 00:49:41,380 --> 00:49:45,010 નંબરો સ્ટોર કરવા માટે, હું અહીં એક નીચે મૂકી શકે છે, 1152 00:49:45,010 --> 00:49:48,320 અને હું અહીં અન્ય નીચે મૂકી શકે અને નંબરો સ્ટેકીંગ ચાલુ 1153 00:49:48,320 --> 00:49:53,180 એક બીજા, અને શું છે ટોચ પર આ વિશે સંભવિત ઉપયોગી 1154 00:49:53,180 --> 00:49:55,450 શું સૂચિતાર્થ છે કે છે આ માહિતી માળખું? 1155 00:49:55,450 --> 00:49:58,045 હું બહાર ખેંચી શકે છે કે જે નંબર પ્રથમ સૌથી સરળ? 1156 00:49:58,045 --> 00:50:00,640 1157 00:50:00,640 --> 00:50:03,030 ત્યાં તાજેતરમાં એક મૂકો. 1158 00:50:03,030 --> 00:50:06,430 >> તેથી આ અમે કહીએ છીએ કોમ્પ્યુટર વિજ્ઞાન એક LIFO માહિતી માળખું. 1159 00:50:06,430 --> 00:50:08,070 માં પ્રથમ બહાર રહે છે. 1160 00:50:08,070 --> 00:50:10,800 અને અમે લાંબા શા પહેલાં જોશો કે, હવે ઉપયોગી પણ હોઈ શકે છે 1161 00:50:10,800 --> 00:50:12,200 માત્ર મિલકત માને છે. 1162 00:50:12,200 --> 00:50:15,158 જો તમને લાગે કે અને તે પ્રકારની મૂર્ખ છે ડાઇનિંગ હોલ તે કેવી રીતે વિશે. 1163 00:50:15,158 --> 00:50:17,910 દર વખતે તેઓ સ્વચ્છ ટ્રે અને ટોચ પર તાજી રાશિઓ મૂકી, 1164 00:50:17,910 --> 00:50:22,160 તમે અગાઉ સ્વચ્છ કરી શકે છે પરંતુ આખરે ખૂબ જ ગંદા અને ડસ્ટી 1165 00:50:22,160 --> 00:50:24,360 ખૂબ તળિયે ટ્રે જો તમે ખરેખર ક્યારેય 1166 00:50:24,360 --> 00:50:26,820 કે તળિયે મેળવવા સ્ટેક, કારણ કે તમે માત્ર 1167 00:50:26,820 --> 00:50:29,380 નવા મૂકી રાખવા અને તે ટોચ પર સ્વચ્છ રાશિઓ. 1168 00:50:29,380 --> 00:50:31,840 આ જ વસ્તુ થાય છે શકે છે એક સુપરમાર્કેટ માં પણ. 1169 00:50:31,840 --> 00:50:35,450 તમારે એક પ્રદર્શન કેસ હોય દૂધ અને દર વખતે CVS ના 1170 00:50:35,450 --> 00:50:37,610 અથવા વધુ દૂધ નહીં રહેલી વ્યકિત, તમે માત્ર milks ધક્કો 1171 00:50:37,610 --> 00:50:39,880 જો તમે પહેલાથી જ પાછળ છે અને તમે અપ ફ્રન્ટ નવા મૂકી 1172 00:50:39,880 --> 00:50:43,088 તમે કેટલાક ખૂબ બીભત્સ હોય રહ્યા છીએ આ માહિતી માળખું ઓવરને અંતે દૂધ, 1173 00:50:43,088 --> 00:50:46,390 તે નીચે હંમેશા કારણ કે સમાન તે પાછળ હંમેશા છે. 1174 00:50:46,390 --> 00:50:50,407 >> પરંતુ વિશે વિચારો કરવા માટે અન્ય માર્ગ છે માહિતી અને હમણાં પૂરતું, આ લાઇન. 1175 00:50:50,407 --> 00:50:53,490 તમે એક તે લોકો છો, તો જે ગમે એપલ સ્ટોર્સ બહાર લાઇન 1176 00:50:53,490 --> 00:50:55,610 જ્યારે નવા ઉત્પાદન આવે છે બહાર, તો તમે કદાચ છો 1177 00:50:55,610 --> 00:50:58,780 સ્ટેક માહિતી મદદથી નથી માળખું તમે કારણ કે 1178 00:50:58,780 --> 00:51:03,070 દરેક વ્યક્તિને કોણ છે સ્વત્વાર્પણ કરવું કરશે લાઇન કેટલાક નવા રમકડા ખરીદવા માટે. 1179 00:51:03,070 --> 00:51:06,610 તેના બદલે, તમે કદાચ ઉપયોગ કરી રહ્યાં છો માહિતી માળખું કેવા પ્રકારની 1180 00:51:06,610 --> 00:51:10,050 સિસ્ટમ અથવા શું પ્રકારની વાસ્તવિક દુનિયામાં? 1181 00:51:10,050 --> 00:51:13,493 આસ્થાપૂર્વક તે એક વાક્ય છે, અથવા વધુ યોગ્ય રીતે અથવા વધુ બ્રિટિશ, જેમ કે એક કતાર. 1182 00:51:13,493 --> 00:51:17,700 અને તે એક કતાર પણ બહાર વળે કોમ્પ્યુટર વિજ્ઞાન માહિતી માળખું, 1183 00:51:17,700 --> 00:51:19,700 પરંતુ કતાર ખૂબ જ છે વિવિધ મિલકત. 1184 00:51:19,700 --> 00:51:20,820 તે LIFO નથી. 1185 00:51:20,820 --> 00:51:21,990 માં પ્રથમ બહાર રહે છે. 1186 00:51:21,990 --> 00:51:22,800 ભગવાન મનાઈ ફરમાવવી. 1187 00:51:22,800 --> 00:51:24,280 તે જગ્યાએ FIFO છે. 1188 00:51:24,280 --> 00:51:26,110 પ્રથમ પ્રથમ બહાર, માં. 1189 00:51:26,110 --> 00:51:27,970 અને તે એક સારી વાત છે ઔચિત્યની ખાતર 1190 00:51:27,970 --> 00:51:30,428 ચોક્કસપણે જ્યારે તમે લાઇન રહ્યાં છો સવારે સુપર પ્રારંભિક. 1191 00:51:30,428 --> 00:51:33,400 તમે પ્રથમ ત્યાં વિચાર જો પ્રથમ તેમજ બહાર વિચાર કરવા માંગો છો. 1192 00:51:33,400 --> 00:51:35,880 >> અને તેથી આ માહિતી તમામ માળખાં, ક્યુને અને રન ટાઇમ સ્ટેકનું 1193 00:51:35,880 --> 00:51:39,220 અને અન્ય જુમખું, તમે બહાર વળે આ માત્ર એક એરે વિચાર કરી શકો છો. 1194 00:51:39,220 --> 00:51:41,820 આ કદાચ એક એરે છે ચોક્કસ માપ 4, પરંતુ તે કરશો 1195 00:51:41,820 --> 00:51:44,990 અમે હમણાં જ ખૂંટો શકે છે, જો પ્રકારની સરસ હોઈ ટ્રેની લગભગ અનંત ઊંચા અમે તો 1196 00:51:44,990 --> 00:51:46,780 કે ઘણા ટ્રે અથવા સંખ્યાઓ છે. 1197 00:51:46,780 --> 00:51:48,840 તેથી કદાચ અમે કરવા માંગો છો અહીં એક કડી થયેલ યાદી વાપરવા માટે, 1198 00:51:48,840 --> 00:51:51,800 પરંતુ વેપાર બોલ હોઈ ચાલે છે સંભવિત છે કે અમે વધુ મેમરી જરૂર છે, 1199 00:51:51,800 --> 00:51:55,930 થોડો વધુ સમય લે છે, પરંતુ અમે સ્ટેક ઊંચાઇ મર્યાદા નથી, 1200 00:51:55,930 --> 00:51:59,550 ખૂબ માથેર પ્રદર્શન કેસ જેમ સ્ટેક કદ મર્યાદિત કરી શકે છે, 1201 00:51:59,550 --> 00:52:03,117 અને તેથી આ ડિઝાઇન નિર્ણયો અથવા આખરે અમને ઉપલબ્ધ વિકલ્પો. 1202 00:52:03,117 --> 00:52:04,950 આ માહિતી સાથે જેથી માળખાં, અમે શરૂ કર્યું 1203 00:52:04,950 --> 00:52:09,360 સંભવિત નવી ઉચ્ચ ભૂસકે જોઈ શું પર અગાઉ સુપર ઝડપી હતી 1204 00:52:09,360 --> 00:52:11,260 અને અમે છોડી જાય છે જ્યાં બંધ આજે અને જ્યાં 1205 00:52:11,260 --> 00:52:13,200 અમે મેળવવા માટે આશા પડશે બુધવારે છે, અમે પડશે 1206 00:52:13,200 --> 00:52:15,740 એક માહિતી જોવા માટે શરૂ અમને શોધવા દે છે કે માળખું 1207 00:52:15,740 --> 00:52:18,260 લોગ અંત સમય માહિતી મારફતે ફરી. 1208 00:52:18,260 --> 00:52:21,470 અને અમે સપ્તાહ શૂન્ય માં, સ્મૃતિ, જોયું કે દ્વિસંગી શોધ અથવા વિભાજન સાથે અને એક 1209 00:52:21,470 --> 00:52:22,180 અને જીતી. 1210 00:52:22,180 --> 00:52:26,240 તે હજુ સુધી પાછા અને વધુ સારી રીતે આવે છે આ બુધવાર માટે હોલી ગ્રેઇલનો 1211 00:52:26,240 --> 00:52:29,510 આ સાથે આવવા પ્રયત્ન કરશે સાચી ચાલે છે માહિતી બંધારણ 1212 00:52:29,510 --> 00:52:32,070 અથવા સૈદ્ધાંતિક માં સતત સમય, જેમાં 1213 00:52:32,070 --> 00:52:34,760 તે કેવી રીતે ઘણા વાંધો નથી લાખો અથવા વસ્તુઓ અબજો 1214 00:52:34,760 --> 00:52:38,470 અમે આ માહિતી માળખું હોય છે, તે કરશે અમને સતત સમય લે છે, કદાચ એક પગલું 1215 00:52:38,470 --> 00:52:41,387 અથવા બે પગલાંઓ અથવા 10 પગલાંઓ પરંતુ પગલાંઓ સતત નંબરો 1216 00:52:41,387 --> 00:52:42,970 કે માહિતી બંધારણ મારફતે શોધવા માટે. 1217 00:52:42,970 --> 00:52:46,300 તે ખરેખર પવિત્ર ગ્રેઇલ હશે પરંતુ બુધવારે તે પર વધુ. 1218 00:52:46,300 --> 00:52:49,045 પછી યા જુઓ. 1219 00:52:49,045 --> 00:52:53,704 >> [સંગીત વગાડવાનો] 1220 00:52:53,704 --> 00:56:08,448