1 00:00:00,000 --> 00:00:11,242 >> [સંગીત વગાડવાનો] 2 00:00:11,242 --> 00:00:16,630 >> ડેવિડ જે MALAN: બધા અધિકાર આ CS50 છે અને આ અઠવાડિયે પાંચ શરૂઆત છે. 3 00:00:16,630 --> 00:00:21,480 આજે તો, તમારા બેઠક કુશન નીચે, તમે કંઈપણ શોધવા નહીં. 4 00:00:21,480 --> 00:00:24,790 પરંતુ ઉપર, તમે આ શોધી શકતા હોવા જોઈએ માટે અમારા પ્રશંસા થોડા ટોકન 5 00:00:24,790 --> 00:00:26,970 તમે મૂકી કે કામ બધા પંદર ગેમ માં. 6 00:00:26,970 --> 00:00:30,290 માત્ર પર ઓછી વર્તુળ દૂર આ માટે રમી શરૂ કરવા માટે નીચે 7 00:00:30,290 --> 00:00:31,680 વર્ગ બાકીની. 8 00:00:31,680 --> 00:00:38,930 >> કે જેથી યાદ, અથવા સેટ કે સમસ્યા ખબર આ સપ્તાહમાં બહાર ગયો, જે ચાર,, 9 00:00:38,930 --> 00:00:40,340 અન્ય રમત લખી સમાવેશ થાય છે. 10 00:00:40,340 --> 00:00:43,740 પરંતુ તે સમાવેશ થાય છે આ સમયે મદદથી વાસ્તવિક ગ્રાફિકલ વપરાશકર્તા ઇન્ટરફેસ, નથી 11 00:00:43,740 --> 00:00:46,310 જેમ ટેક્સ્ચ્યુઅલ ઈન્ટરફેસ પંદર ગેમ ઓફ હતો. 12 00:00:46,310 --> 00:00:50,210 અને આગળ તમે આવેલું કે રમત, તમે હજુ સુધી આ આગામી જોઇ ન હોય તો, 13 00:00:50,210 --> 00:00:52,310 આ જેમ થોડી કંઈક જુએ છે. 14 00:00:52,310 --> 00:00:55,170 હું મારા ટર્મિનલ જાય જઇ રહ્યો છું અહીં GDB માં વિંડો. 15 00:00:55,170 --> 00:00:58,600 અને હું આગળ જાઓ અને ચલાવવા માટે જઇ રહ્યો છું તમે ઍક્સેસ કરી શકો છો કે જે સ્ટાફ ઉકેલ, 16 00:00:58,600 --> 00:01:01,010 સામાન્ય તરીકે સુધારો 50 ચલાવ્યા પછી. 17 00:01:01,010 --> 00:01:04,090 >> પરંતુ હું થોડી તેને મૂકવા માટે જઇ રહ્યો છું ગુપ્ત સ્થિતિ, થોડી ઇસ્ટર ઇંડા, 18 00:01:04,090 --> 00:01:08,480 દ્વારા, ભગવાન સ્થિતિ કહેવાતી argv1 ભગવાન મૂકે. 19 00:01:08,480 --> 00:01:12,920 અને હું મારી પોતાની દિશાઓ અનુસરો હોય મારા પોતાના તે ચાલી 20 00:01:12,920 --> 00:01:14,220 સમસ્યા ડિરેક્ટરી સુયોજિત કરો. 21 00:01:14,220 --> 00:01:19,190 તેથી હવે તમે એક સંપૂર્ણ આવૃત્તિ જુઓ બ્રેકઆઉટ ની રમત છે. 22 00:01:19,190 --> 00:01:21,090 હકીકતમાં, આ બોલ પર કોઈ હાથ સ્થિતિ છે. 23 00:01:21,090 --> 00:01:24,850 તેથી તે ખરેખર છે - 24 00:01:24,850 --> 00:01:26,470 જોકે wowed તમે હોઈ શકે છે - 25 00:01:26,470 --> 00:01:30,850 ભગવાન સ્થિતિ અમલ કરવા માટે ખૂબ તુચ્છ બ્રેકઆઉટ, પંદર ગેમ ઓફ વિપરિત, 26 00:01:30,850 --> 00:01:33,590 જે તમે કેટલાક સામનો કરવો હોઈ શકે છે હેકર આવૃત્તિ માટે. 27 00:01:33,590 --> 00:01:37,890 >> બ્રેકઆઉટ તે ઈશ્વર પૂરતા સ્થિતિ ખાલી, શું કરવું 28 00:01:37,890 --> 00:01:41,220 તર્ક એ સાધન વડે? 29 00:01:41,220 --> 00:01:45,630 જસ્ટ ગમે તે સમાન બનાવવા આડી સ્થિતિ બોલ છે. 30 00:01:45,630 --> 00:01:49,220 અને તેથી લાંબા તમે lockstep માં આવું તરીકે આ રમત ખસેડવાની બોલ ચાલશે સાથે 31 00:01:49,220 --> 00:01:53,100 , ક્યારેય ક્યારેય બોલ ચૂકી ક્યારેય અને તમે દરેક વખતે જીતી શકશો. 32 00:01:53,100 --> 00:01:55,430 >> પરંતુ આ અઠવાડિયે માતાનો હેકર આવૃત્તિ માત્ર ભગવાન સ્થિતિ કરતાં વધુ છે. 33 00:01:55,430 --> 00:01:56,720 અન્ય લક્ષણો એક નંબર છે. 34 00:01:56,720 --> 00:01:58,140 તેમને પૈકી, લેસરો. 35 00:01:58,140 --> 00:02:01,070 કે જેથી તમે ખરેખર તમે ઉત્સુક વિચાર જો આ ઇંટો નીચે શૂટિંગ શરૂ કરી શકો છો 36 00:02:01,070 --> 00:02:02,120 અને થોડા અન્ય. 37 00:02:02,120 --> 00:02:04,560 અને કરવા માંગો છો જે તમે તે માટે ધોરણ વિરુદ્ધ હેકર ગોઠવવા 38 00:02:04,560 --> 00:02:08,750 આવૃત્તિ, હું જોઈ શકે છે કે આ સપ્તાહમાં હેકર આવૃત્તિ ઇરાદાપૂર્વક છે 39 00:02:08,750 --> 00:02:12,830 ભગવાન કરતાં કહે છે, થોડી વધુ doable સ્થિતિ પંદર ગેમ ઓફ હતી. 40 00:02:12,830 --> 00:02:15,300 >> તમે ઉંચાઇ માટે જોઈ રહ્યા છો અને તેથી જો તમે કેટલીક વધારાની આનંદ માટે શોધી રહ્યા છો 41 00:02:15,300 --> 00:02:18,400 લક્ષણો રસ તો ડાઈવ નથી. 42 00:02:18,400 --> 00:02:21,280 હવે વ્યવહારીક, મને નિર્દેશ દો એક વસ્તુ બહાર તેમજ. 43 00:02:21,280 --> 00:02:24,780 તમે કેટલાક હજુ સુધી હોઈ શકે નહિં કે જે GDB, દંડ છે, કે જે વ્યક્તિગત રહ્યો હતો. 44 00:02:24,780 --> 00:02:28,530 પરંતુ હવે ખરેખર ઉપયોગ કરવા માટે સમય છે આ સાધન સાથે આ અને આરામદાયક માટે 45 00:02:28,530 --> 00:02:31,510 તે તમારા જીવનમાં કરશે કારણ કે ખૂબ સરળ, સાચી. 46 00:02:31,510 --> 00:02:34,900 >> GDB એક દંપતિ પર રોબ માતાનો વ્યાખ્યાન દીઠ અઠવાડિયા પહેલાં, યાદ 47 00:02:34,900 --> 00:02:36,810 કે GDB એક ડીબગર છે. 48 00:02:36,810 --> 00:02:41,230 તે તમે ચલાવી શકો છો કે જે એક સાધન છે તમારા કાર્યક્રમ પરંતુ તે પગલું, લાઇન દ્વારા પગલું સ્કોર 49 00:02:41,230 --> 00:02:45,680 રેખા દ્વારા, કે જેથી તમે આસપાસ થેલી, કોથળી કરી શકો છો તમે વસ્તુઓ રહ્યું જુઓ, કે જેથી જેથી 50 00:02:45,680 --> 00:02:47,310 તમે બહાર છાપી શકો છો કે જે વેરિયેબલ્સ કિંમતો. 51 00:02:47,310 --> 00:02:50,580 ટૂંકમાં, તે તમને ઘણું બધું આપે છે printDef કરતાં સત્તા નથી. 52 00:02:50,580 --> 00:02:52,900 >> હવે સ્વીકૃત, ઈન્ટરફેસ ખૂબ arcane છે. 53 00:02:52,900 --> 00:02:55,180 બ્લેક અને સફેદ ટેક્સ્ચ્યુઅલ ઈન્ટરફેસ સૌથી ભાગ માટે. 54 00:02:55,180 --> 00:02:57,400 આ આદેશો અંશે ખડતલ છે પ્રથમ યાદ. 55 00:02:57,400 --> 00:03:01,230 પરંતુ તે તમને અડધા લાગી શકે છે, છતાં પણ એક કલાક, એક કલાક કે, અપફ્રન્ટ મૂકી 56 00:03:01,230 --> 00:03:02,940 તેને સમય રોકાણ, મને વિશ્વાસ. 57 00:03:02,940 --> 00:03:06,440 ચોક્કસપણે સત્ર અંત કરીને તેને સેવ કરશે વધુ તીવ્રતા તમે ઓર્ડર 58 00:03:06,440 --> 00:03:07,600 કરતા સમય. 59 00:03:07,600 --> 00:03:09,200 >> સાઇન સપ્તાહ ડાઈવ જેથી શરૂઆતમાં 60 00:03:09,200 --> 00:03:13,200 અને બ્રેકઆઉટ દ્રષ્ટિએ, ખબર છે કે તમે તમારી પાસે જેથી લાંબા આ કરી શકો છો 61 00:03:13,200 --> 00:03:18,230 વિતરણ કોડ અથવા તમારા પોતાના કોડ તમારા Pst4 ડિરેક્ટરીમાં પ્રોગ્રેસ. 62 00:03:18,230 --> 00:03:21,680 તમે GDB ચલાવી શકો છો કે જે ખબર. / બ્રેકઆઉટ. 63 00:03:21,680 --> 00:03:23,490 >> આ ખોલવા જઈ રહ્યું છે આ જેમ એક વિન્ડો. 64 00:03:23,490 --> 00:03:25,530 મને મારી જાતને વધુ આપી દો ટર્મિનલ વિન્ડોમાં છે. 65 00:03:25,530 --> 00:03:27,770 અને પછી હું આગળ જવા માટે જઇ રહ્યો છું અને આમ, તે માત્ર ચલાવવા નથી. 66 00:03:27,770 --> 00:03:30,690 હું પ્રથમ વિરામ બિંદુ સુયોજિત કરવા માટે જઇ રહ્યો છું તમે વિરામ કરવા માટે પરવાનગી આપે છે કે જે બોલાવવાનો, 67 00:03:30,690 --> 00:03:32,500 ચોક્કસ સ્થળ પર અમલ. 68 00:03:32,500 --> 00:03:35,750 >> માત્ર હું જાઉં છું વસ્તુઓ સરળ રાખવા માટે લખીને માત્ર વાક્ય એક ખાતે તોડી 69 00:03:35,750 --> 00:03:37,000 નંબર એક. 70 00:03:37,000 --> 00:03:40,080 71 00:03:40,080 --> 00:03:43,250 મને ખરેખર આ વિન્ડોમાં ફરીથી ખોલવા દો જો તે મેળવવામાં આવ્યું છે કારણ કે 72 00:03:43,250 --> 00:03:45,700 ત્યાં થોડી નાની. 73 00:03:45,700 --> 00:03:53,270 તેથી શું હવે હું અહીં કરવા જઇ રહ્યો છું છે હું મારા ટર્મિનલ વિન્ડોમાં ખોલો તો. 74 00:03:53,270 --> 00:03:53,910 ત્યાં અમે જાઓ, પર આવો. 75 00:03:53,910 --> 00:03:59,850 >> હું ડ્રૉપબૉક્સ, Pst4 પર પાછા જાઓ તો હવે જો અને GDB ચલાવો. / બ્રેકઆઉટ દાખલ નોટિસ 76 00:03:59,850 --> 00:04:02,600 હું એક સેટ કરવા માટે તોડી જઇ રહ્યો છું રેખા એક પર એક વિરામ બિંદુ. 77 00:04:02,600 --> 00:04:04,840 અને હવે હું જવા માટે જઇ રહ્યો છું આગળ અને પ્રકાર ચલાવો. 78 00:04:04,840 --> 00:04:07,370 અને હું શું છે, ત્યારે કંઈ નોટિસ શું કરવા લાગે છે. 79 00:04:07,370 --> 00:04:08,120 >> આ બોલ પર કોઈ પોપ અપ છે. 80 00:04:08,120 --> 00:04:09,790 આ બોલ પર કોઈ ગ્રાફિકલ છે હજુ સુધી વપરાશકર્તા ઈન્ટરફેસ. 81 00:04:09,790 --> 00:04:13,340 હું છું કારણ કે પરંતુ તે સમજી છે શાબ્દિક મારા કાર્યક્રમ વાક્ય એક છે. 82 00:04:13,340 --> 00:04:17,110 અને, હું ઝડપી ફોરવર્ડ કરેલો નોટિસ ખાસ કરીને હવે 62, બધા કારણ કે 83 00:04:17,110 --> 00:04:20,600 આ ફાઈલની ટોચ પર સામગ્રી છે ટિપ્પણીઓ અને સ્થિરાંકો જેવી વસ્તુઓ અને 84 00:04:20,600 --> 00:04:22,460 હવે સામગ્રી uninteresting. 85 00:04:22,460 --> 00:04:25,840 >> તેથી હવે હું મુખ્ય અંદર છું તે લીટી 62 અંતે લાગે છે. 86 00:04:25,840 --> 00:04:27,960 અને આ માત્ર વિતરણ છે કોડ છે, યાદ. 87 00:04:27,960 --> 00:04:33,810 હું એ જ રીતે, જઈને આ ખોલો તો મારા ડ્રોપ બોક્સ ડિરેક્ટરી Pst4 માં માં, 88 00:04:33,810 --> 00:04:35,450 breakout.c માં. 89 00:04:35,450 --> 00:04:40,670 અને હું નીચે અને નીચે સરકાવો અને જો, અને મને આગળ જાઓ અને ચાલુ દો 90 00:04:40,670 --> 00:04:44,990 મારા લાઇન નંબરો. 91 00:04:44,990 --> 00:04:50,300 >> હું કરવા માટે નીચે સરકાવો હું જોશો શું, જો રેખા 62, બરાબર વાક્ય છે કે 92 00:04:50,300 --> 00:04:50,910 અમે થોભાવવામાં કર્યું છે. 93 00:04:50,910 --> 00:04:53,720 આ વાક્ય અહીં, 62, તેથી અમે કરી રહ્યાં છો છે. 94 00:04:53,720 --> 00:04:57,470 તેથી હવે GDB માં, હું આગળ જાઓ અને જો લખો હવે આગળ, તેને રહ્યું દાખલ 95 00:04:57,470 --> 00:04:58,450 તે લીટી ચલાવો. 96 00:04:58,450 --> 00:05:00,610 અને વોઇલા Query, અમે પાસે ગ્રામ વિન્ડો કહેવાતી. 97 00:05:00,610 --> 00:05:02,800 શું GWindow સાથે પરિચિત નહિં ચિંતા નથી, છે. 98 00:05:02,800 --> 00:05:05,740 આ ઉલ્લેખનું તરીકે, તે માટે તમે દાખલ કરશે સારી walkthrough વિડિઓઝ એક નંબર તરીકે 99 00:05:05,740 --> 00:05:06,830 જો ઉલ્લેખનું એમ્બેડ. 100 00:05:06,830 --> 00:05:08,610 >> પરંતુ હવે ચાલો આ એક બનાવવા દો થોડી વધુ રસપ્રદ. 101 00:05:08,610 --> 00:05:10,960 મને આ વિંડો પર ખસેડી દો બાજુ પર થોડુંક. 102 00:05:10,960 --> 00:05:13,480 મને વિન્ડો થોડી બનાવવા દો મોટા તેથી હું વધુ જોવા કરી શકો છો. 103 00:05:13,480 --> 00:05:16,140 >> અને હવે મને આગળ જવા દો અને ફરી આગામી કરવું. 104 00:05:16,140 --> 00:05:17,550 અને મારા ઇંટો છે. 105 00:05:17,550 --> 00:05:20,490 હું આગામી ફરીથી લખો, તો હવે હું આ બોલ જુઓ. 106 00:05:20,490 --> 00:05:23,520 અને હું આગામી ફરીથી લખો, જો હવે હું સાધન જુઓ. 107 00:05:23,520 --> 00:05:26,690 >> અને સદભાગ્યે આ gedit નથી ખરેખર મને બતાવીને સહકારથી 108 00:05:26,690 --> 00:05:27,660 હું માંગો બધું. 109 00:05:27,660 --> 00:05:30,820 પરંતુ હવે હું આગામી ફરીથી કરો તો, આગામી ફરી, હું હમણાં જ છું 110 00:05:30,820 --> 00:05:32,260 કેટલાક ચલો જાહેર. 111 00:05:32,260 --> 00:05:34,750 અને હું કોઈ પણ એક છાપી શકો છો બહાર આ ગાય્ઝ છે. 112 00:05:34,750 --> 00:05:37,170 પ્રિંટ ઇંટો, પ્રિન્ટ જીવન. 113 00:05:37,170 --> 00:05:39,910 >> અને હવે હું શું કરવાનું ચાલુ જો આગામી, હું હશો કે નોટિસ 114 00:05:39,910 --> 00:05:40,870 કે લૂપ પર આધારિત છે. 115 00:05:40,870 --> 00:05:43,380 પરંતુ કોડ ચલાવવા માટે ચાલે છે હું અપેક્ષા બરાબર છે. 116 00:05:43,380 --> 00:05:45,810 તેથી હું આ કાર્ય હિટ જ્યારે રાહ જુઓ, ક્લિક કરો માટે, તે કરવા જઇ રહ્યું છે 117 00:05:45,810 --> 00:05:46,830 તે શાબ્દિક છે. 118 00:05:46,830 --> 00:05:48,870 તેથી હું નિયંત્રણ ગુમાવી છે લાગતું આ પ્રોગ્રામ છે. 119 00:05:48,870 --> 00:05:50,480 >> GDB મને અન્ય પ્રોમ્પ્ટ આપીને નથી. 120 00:05:50,480 --> 00:05:51,500 પરંતુ ચિંતા કરવાની નથી. 121 00:05:51,500 --> 00:05:53,720 મારા રમત પર જાઓ, ક્યાંક ક્લિક કરો. 122 00:05:53,720 --> 00:05:56,270 >> અને વોઇલા Query, હવે તે લીટી 86 આગળ. 123 00:05:56,270 --> 00:05:59,460 તેથી ફરી, તે આખરે, અમૂલ્ય છે ડિબગીંગ સમસ્યાઓ માટે. 124 00:05:59,460 --> 00:06:03,050 તમે શાબ્દિક દ્વારા પગલું શકે છે કારણ કે તમારી કોડ છે, અને બહાર ખૂબ પ્રિન્ટ વસ્તુઓ 125 00:06:03,050 --> 00:06:03,640 ખૂબ, વધુ. 126 00:06:03,640 --> 00:06:07,210 એકલા પરંતુ હવે, તે સાધનો ખૂબ દૂર તમે વિચાર કરીશું. 127 00:06:07,210 --> 00:06:10,050 >> તેથી આપણે એક નજર લેતી, અલબત્ત, કરશો અંતે હવે ગ્રાફિક્સ, અચાનક બધા. 128 00:06:10,050 --> 00:06:12,350 અને હવે અમારી દુનિયા થોડી નહીં વધુ રસપ્રદ. 129 00:06:12,350 --> 00:06:15,680 અને તમે કેટલાક થી, કદાચ ખબર અમે આ છે કે ઑનલાઇન વિડિઓઝ 130 00:06:15,680 --> 00:06:18,280 તમે જોવાનું કરવામાં આવ્યા છે કે ટૂંકી ફિલ્મ સમસ્યા સેટ ભાગ તરીકે. 131 00:06:18,280 --> 00:06:20,460 >> અને તેઓ ઇરાદાપૂર્વક, ગોળી કરવામાં આવ્યાં છે એક સફેદ backdrop સામે. 132 00:06:20,460 --> 00:06:23,380 અને તેમને કેટલાક શિક્ષણ છે પર અમુક લખાણ ચિત્રકામ ફેલો 133 00:06:23,380 --> 00:06:25,490 પાથરી દેવામાં આવ્યું છે કે સ્ક્રીન તેમને બાજુ પર. 134 00:06:25,490 --> 00:06:27,760 પરંતુ અલબત્ત, આ બધા નથી વાસ્તવિક દુનિયામાં રસપ્રદ. 135 00:06:27,760 --> 00:06:30,520 આ એક સાથે માત્ર એક વ્યાખ્યાન હોલ છે મોટા સફેદ સ્ક્રીન અને એક backdrop. 136 00:06:30,520 --> 00:06:33,330 અને અમારા અમેઝિંગ પ્રોડક્શન ટીમ સૉર્ટ કરો બધું સુંદર જોવા બનાવે છે 137 00:06:33,330 --> 00:06:36,620 બહાર પાક દ્વારા હકીકત પછી અથવા કંઈપણ overlaying 138 00:06:36,620 --> 00:06:37,840 અમે કે નહિં માંગો. 139 00:06:37,840 --> 00:06:41,560 >> હવે આ અઠવાડિયે ઉત્સાહિત અને ખરેખર, તમે આખરે, જઇ શકો છો જ્યાં 140 00:06:41,560 --> 00:06:42,560 કોમ્પ્યુટર વિજ્ઞાન સાથે. 141 00:06:42,560 --> 00:06:44,260 માત્ર સમસ્યા પછી ચાર સુયોજિત કરો. 142 00:06:44,260 --> 00:06:48,240 પરંતુ અન્ય કોર્સ અથવા આખી પછી અભ્યાસક્રમ અમેઝિંગ તે શું તમે કરી શકો છો 143 00:06:48,240 --> 00:06:51,090 દ્રષ્ટિએ આ દિવસ કરવું ખાસ કરીને ગ્રાફિક્સ. 144 00:06:51,090 --> 00:06:53,440 >> તમે કેટલાક આ જોઈ હોય શકે છે ઑનલાઇન આસપાસ વહેતી. 145 00:06:53,440 --> 00:06:56,240 પરંતુ હું માટે, હું તમને બતાવવા માગતા વિચાર્યું માત્ર એક મિનિટ દંપતિ, શું એક ઝલક 146 00:06:56,240 --> 00:07:01,890 કમ્પ્યુટર ટેકનોલોજી અને શું CGI, કમ્પ્યુટર ગ્રાફિક્સ આ દિવસોમાં શું કરી શકો છો 147 00:07:01,890 --> 00:07:04,510 એક પરિચિત ગીત અને કદાચ ફિલ્મ. 148 00:07:04,510 --> 00:07:05,760 >> [સંગીત - LANA DEL રે, "યુવાન અને સુંદર] 149 00:07:05,760 --> 00:10:50,270 150 00:10:50,270 --> 00:10:52,470 >> સ્પીકર 1: તે માત્ર થોડી છે અમેઝિંગ, કદાચ, માત્ર કેવી રીતે 151 00:10:52,470 --> 00:10:52,857 સર્વવ્યાપી - 152 00:10:52,857 --> 00:10:57,040 >> [અભિવાદન] 153 00:10:57,040 --> 00:10:59,230 >> સ્પીકર 1: હું માત્ર તેને ડાઉનલોડ કરી છે. 154 00:10:59,230 --> 00:11:02,920 પરંતુ તે, મને લાગે છે, ખરેખર સુંદર છે માત્ર સર્વવ્યાપી સોફ્ટવેર અને કોડ અને કેવી રીતે 155 00:11:02,920 --> 00:11:04,230 આ જેમ સાધનો ખરેખર છે. 156 00:11:04,230 --> 00:11:07,685 જેથી દિશા એક સ્વાદ છે જેમાં તમે જઇ શકો છો. 157 00:11:07,685 --> 00:11:10,620 ઓહ, કોઈ વધુ ઉપકરણ આજે. 158 00:11:10,620 --> 00:11:14,640 ઠીક છે, કે જે ખરેખર દુ: ખદ સમય છે હું માત્ર બનાવવા માટે પ્રયાસ કર્યો બિંદુ આપવામાં આવે છે. 159 00:11:14,640 --> 00:11:18,670 >> બધા હક, જેથી માતાનો લોન્ચ દો ફ્યુઝન ફરી. 160 00:11:18,670 --> 00:11:20,800 મને પછી યાદ અપાવો. 161 00:11:20,800 --> 00:11:24,190 બધા હક, અને તમે એક મળી છે જોઈએ તમે વિચાર કરી તો એક કોરે તરીકે ઇમેઇલ 162 00:11:24,190 --> 00:11:25,460 કે જેમ નોટિસ. 163 00:11:25,460 --> 00:11:29,940 બધા હક, જેથી છેલ્લા અઠવાડિયે યાદ અમે પાછા છાલ આ શરૂ 164 00:11:29,940 --> 00:11:31,380 પાછળથી શબ્દમાળા તરીકે ઓળખાય છે. 165 00:11:31,380 --> 00:11:34,700 >> સ્ટ્રિંગ છે કે માહિતી પ્રકાર યાદ જો CS50 પુસ્તકાલયમાં જાહેર કર્યું. 166 00:11:34,700 --> 00:11:37,740 અને તે તાલીમ વ્હીલ્સ ભાગ છે કે હવે બંધ લેવા શરૂ થશે. 167 00:11:37,740 --> 00:11:41,280 તે પર શરૂઆતમાં એક ઉપયોગી વિભાવના હતી. 168 00:11:41,280 --> 00:11:43,750 પરંતુ હવે તે વધુ વિચાર રહ્યું રસપ્રદ અને વધુ શક્તિશાળી 169 00:11:43,750 --> 00:11:48,330 વાસ્તવમાં, હૂડ નીચે જુઓ કે શબ્દમાળા માત્ર શું છે, અમે જણાવ્યું હતું કે, હતી? 170 00:11:48,330 --> 00:11:50,500 >> અરે વાહ, તેથી તે કહેવાતા ચાર * છે. 171 00:11:50,500 --> 00:11:53,860 અને ત્યાં * છે તે સૂચવે છે સરનામા અમુક પ્રકારના સમાવેશ થાય છે. 172 00:11:53,860 --> 00:11:58,690 અને તેથી તમે ચાર * કહે છે જ્યારે તમે માત્ર અર્થ જેની માહિતી પ્રકાર ચલ છે 173 00:11:58,690 --> 00:11:59,290 હવે પોઇન્ટર. 174 00:11:59,290 --> 00:12:01,770 ત્યાં સ્ટાર છે એ હકીકત હમણાં જ તમને જાહેર કરવામાં આવે છે કે જેનો અર્થ એ થાય 175 00:12:01,770 --> 00:12:03,020 નિર્દેશક કહેવાતી. 176 00:12:03,020 --> 00:12:06,220 અને તે નિર્દેશક દેખીતી રીતે ચાલે છે ના, ના સરનામા સ્ટોર 177 00:12:06,220 --> 00:12:07,810 કોર્સ, એક ચાર. 178 00:12:07,810 --> 00:12:08,960 >> હવે શા માટે આ અર્થમાં બનાવવા નથી? 179 00:12:08,960 --> 00:12:11,200 વેલ, એક શબ્દમાળા શું છે હૂડ નીચે? 180 00:12:11,200 --> 00:12:15,130 ઠીક છે, અમુક સમય માટે અમે કહેતા કરવામાં આવ્યાં છે હૂડ નીચે શબ્દમાળા કે 181 00:12:15,130 --> 00:12:18,460 માત્ર H-E-l-l-O, ઉદાહરણ તરીકે. 182 00:12:18,460 --> 00:12:21,585 >> પરંતુ અમે આ વિશે વાત કરી છે ,, આવશ્યકપણે એક એરે છે. 183 00:12:21,585 --> 00:12:25,410 અને એક એરે પછી થોડી જુઓ હોત આ દરેક સાથે, આ જેમ વધુ 184 00:12:25,410 --> 00:12:26,460 એક ડંખ અપ લેતી. 185 00:12:26,460 --> 00:12:28,710 અને પછી આપણે ત્યાં છે કે જણાવ્યું હતું કે કર્યું પાછા અહીં ખાસ કંઈક છે, 186 00:12:28,710 --> 00:12:31,270 બેકસ્લેશ 0, અથવા નલ ટર્મીનેટર. 187 00:12:31,270 --> 00:12:35,230 >> આ બધા સમય, તેથી આ અહીં શબ્દમાળા કરવામાં આવી છે. 188 00:12:35,230 --> 00:12:38,320 પરંતુ ખરેખર, એક શબ્દમાળા છે ખરેખર એક સરનામું. 189 00:12:38,320 --> 00:12:43,210 અમે જોશો અને સરનામાં,, ઘણી વાર છે સંમેલન દ્વારા 0x સાથે પ્રિફિક્સ. 190 00:12:43,210 --> 00:12:44,540 0x શું સૂચવવા નથી? 191 00:12:44,540 --> 00:12:45,970 કોઇને ખબર નથી? 192 00:12:45,970 --> 00:12:47,320 >> તેથી તે માત્ર હેક્સાડેસિમલ થાય છે. 193 00:12:47,320 --> 00:12:52,360 તેથી તમે PST થી, ખરેખર, યાદ શકે છે 1, હું માને છે કે, ગરમ અપ એક 194 00:12:52,360 --> 00:12:55,740 પ્રશ્નો ખરેખર વિશે પૂછવામાં ઉપરાંત હેક્સાડેસિમલ સંકેત 195 00:12:55,740 --> 00:12:57,100 દ્વિસંગી અને દશાંશ. 196 00:12:57,100 --> 00:13:00,460 અને અહીં પ્રેરણા છે કે હેક્સાડેસિમલ સાથે તમે 16 છે 197 00:13:00,460 --> 00:13:01,770 તમારી આગળના અંકો. 198 00:13:01,770 --> 00:13:07,900 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, અનુસરવામાં દ્વારા, બી, સી, ડી, ઇ, એફ. 199 00:13:07,900 --> 00:13:10,430 >> અને તમે તે બધા અપ ગણતરી જો, તમે 16 ના કુલ વિચાર. 200 00:13:10,430 --> 00:13:13,200 તેથી આ સાથે વિપરીત છે અમે 10 હોય છે દશાંશ, 201 00:13:13,200 --> 00:13:14,690 અંકો નવ મારફતે 0. 202 00:13:14,690 --> 00:13:17,750 તે બાઈનરી સાથે વિપરીત છે આપણે 0 અને 1 હોય છે. 203 00:13:17,750 --> 00:13:21,450 >> પરંતુ તમે માત્ર આ કરી શકો છો દિવસ ઓવરને અંતે એ જ નંબરો પ્રતિનિધિત્વ કરે છે, પરંતુ 204 00:13:21,450 --> 00:13:22,500 કંઈક અલગ. 205 00:13:22,500 --> 00:13:25,840 અને હેક્સાડેસિમલ સામાન્ય છે કારણ કે તરીકે તે બહાર વળે છે - અને અમે આ જોશો 206 00:13:25,840 --> 00:13:28,790 પાછળથી કોર્સ - ત્યારે પણ આપણે વિચાર સંદર્ભમાં વેબ પ્રોગ્રામિંગ માટે 207 00:13:28,790 --> 00:13:32,100 HTML અને રંગ કોડ, હેક્સાડેસિમલ સરસ છે. 208 00:13:32,100 --> 00:13:36,390 દરેક કોડ કારણ કે,, બહાર વળે સંપૂર્ણપણે ચાર બીટ્સ રજૂ કરે છે. 209 00:13:36,390 --> 00:13:39,280 સરસ રીતે લીટીઓ તેથી તે માત્ર પ્રકારની અમે આખરે જોશો તરીકે. 210 00:13:39,280 --> 00:13:44,720 તેથી આ હોઈ શકે Ox123 અથવા કંઈક કે જેમ, denoting સરનામા 123 211 00:13:44,720 --> 00:13:47,050 ક્યાંક અંદર મારા ઓફ કોમ્પ્યુટરની મેમરી. 212 00:13:47,050 --> 00:13:50,600 >> પરંતુ અલબત્ત, કેટલીક સમસ્યાઓ ઊભી થાય છે કારણ કે આ અંતર્ગત ઓફ 213 00:13:50,600 --> 00:13:51,520 અમલીકરણ. 214 00:13:51,520 --> 00:13:55,930 અને હું ઘણો પ્રયાસ કર્યો હતો કે યાદ આ જેમ એક કાર્ય અમલીકરણ - 215 00:13:55,930 --> 00:14:00,260 છેલ્લા અઠવાડિયે આડંબર 0 ડોટ કો સરખાવવા માટે, કે તે જેમ તે જોવામાં છતાં પણ 216 00:14:00,260 --> 00:14:04,270 અધિકાર છે, તે માત્ર તુલના ન હતી બે શબ્દમાળાઓ યોગ્ય રીતે. 217 00:14:04,270 --> 00:14:07,470 >> હું દૂર મુખ્ય ફેંકવામાં કર્યું છે, અને હું ફેંકવામાં કર્યું દૂર ટિપ્પણીઓ માત્ર પર ધ્યાન કેન્દ્રિત કરવા માટે 218 00:14:07,470 --> 00:14:08,970 અહીં રસ છે તે કોડ. 219 00:14:08,970 --> 00:14:10,660 તે બગડેલ છે કારણ કે તે અને લાલ છે. 220 00:14:10,660 --> 00:14:11,670 શું કારણ? 221 00:14:11,670 --> 00:14:15,890 >> વેલ, ટોચ ત્યાં અંતે હું જાહેર ત્યારે શબ્દમાળા, શું ખરેખર ચાલુ કરવામાં આવી હતી 222 00:14:15,890 --> 00:14:17,260 હૂડ નીચે? 223 00:14:17,260 --> 00:14:19,530 ઠીક છે, મને ઉપર જવા દો અહીં સ્ક્રીન અને કે દોરે છે. 224 00:14:19,530 --> 00:14:23,230 તેથી હું, ફરી, જાહેર સ્ટ્રિંગ ઓ GetString. 225 00:14:23,230 --> 00:14:26,640 >> તેથી હવે હું આગળ જવા માટે જતા અને છું તે ખરેખર શું છે તે માટે ઓનલાઈન દોરે છે. 226 00:14:26,640 --> 00:14:28,590 અહીં એક ચોરસ હોઈ ચાલે છે. 227 00:14:28,590 --> 00:14:30,490 અને હું માટે દાવો કરવા જઇ રહ્યો છું કે 32 બીટ્સ કે. 228 00:14:30,490 --> 00:14:32,890 ઓછામાં ઓછા તે સામાન્ય રીતે હોય છે, ઓછામાં ઓછી CS50 પર 229 00:14:32,890 --> 00:14:34,520 કમ્પ્યુટર્સ ઘણો માં સાધન. 230 00:14:34,520 --> 00:14:35,980 હું તે ઓ કૉલ કરવા જઇ રહ્યો છું. 231 00:14:35,980 --> 00:14:39,070 >> પરંતુ હવે યાદ છે કે અમે GetString કહેવાય છે. 232 00:14:39,070 --> 00:14:41,430 તેથી GetString વળતર, અલબત્ત, શબ્દમાળા. 233 00:14:41,430 --> 00:14:45,790 H-E-l-l-O માં વપરાશકર્તા પ્રકારો દાખલ જો શબ્દમાળા હેલ્લો પરત નહીં. 234 00:14:45,790 --> 00:14:51,010 અને તે સ્ટ્રિંગ, અમે ફક્ત જણાવ્યું હતું કે, અંત અપ ક્યાંક તમારા કમ્પ્યુટરની મેમરી 235 00:14:51,010 --> 00:14:53,240 અંતે બેકસ્લેશ 0 સાથે. 236 00:14:53,240 --> 00:14:56,650 હું એરે જેવી આ ડ્રો કરીશું - અથવા અક્ષરો સંલગ્ન બ્લોક - 237 00:14:56,650 --> 00:14:58,330 તે ખરેખર છે કે જે. 238 00:14:58,330 --> 00:15:01,790 >> અને હવે, શું GetString છે વાસ્તવમાં પરત ફરવું છે? 239 00:15:01,790 --> 00:15:04,340 શું પરત કરવામાં GetString છે આ સમયે બધા? 240 00:15:04,340 --> 00:15:07,520 ઠીક છે, આપણે પહેલાં અઠવાડિયામાં કહે છે, જો તે સ્ટ્રિંગ આપે છે. 241 00:15:07,520 --> 00:15:10,250 પરંતુ વધુ તકનિકી, શું કરે છે દેખીતી રીતે વળતર GetString? 242 00:15:10,250 --> 00:15:11,610 >> પ્રેક્ષક: એક સરનામું. 243 00:15:11,610 --> 00:15:12,600 >> સ્પીકર 1: એક સરનામું. 244 00:15:12,600 --> 00:15:16,630 ખાસ કરીને તે સરનામા આપે છે તે ગમે તે ખૂબ પ્રથમ ડંખ. 245 00:15:16,630 --> 00:15:18,830 હું માત્ર એક, બે, ત્રણ નો ઉપયોગ ચાલુ રાખી તે અનુકૂળ છે કારણ કે. 246 00:15:18,830 --> 00:15:21,380 >> તે પ્રથમ સરનામું આપે છે શબ્દમાળા પાત્ર. 247 00:15:21,380 --> 00:15:23,510 અને અમે છેલ્લા અઠવાડિયે જણાવ્યું હતું કે, કે પૂરતી છે. 248 00:15:23,510 --> 00:15:26,710 અમે હંમેશા બહાર આકૃતિ કરી શકો છો કારણ કે જ્યાં શબ્દમાળા ઓવરને માત્ર દ્વારા 249 00:15:26,710 --> 00:15:30,150 એક સાથે, કદાચ, તેની પર વારો લૂપ અથવા જેમ જ્યારે લૂપ અથવા કંઈક 250 00:15:30,150 --> 00:15:34,990 કે, માત્ર "બેકસ્લેશ 0" માટે શોધી, ખાસ મહત્ત્વના પાત્ર. 251 00:15:34,990 --> 00:15:37,220 >> અને પછી આપણે જાણીએ છીએ કે જે શબ્દમાળા લંબાઈ હોઈ બને - 252 00:15:37,220 --> 00:15:37,980 આ કિસ્સામાં - 253 00:15:37,980 --> 00:15:38,670 પાંચ. 254 00:15:38,670 --> 00:15:43,800 તેથી ટેકનિકલ GetString શું કરે છે તે આ કેસમાં Ox123 આપે છે. 255 00:15:43,800 --> 00:15:53,670 અને તકનીકી પછી શું થાય છે કે અમે s ની અંદર, Ox123 સંગ્રહ કરે છે. 256 00:15:53,670 --> 00:15:56,460 દિવસ ઓવરને અંતે પણ આ છતાં નવા ખ્યાલ, પોઇન્ટર, તેઓ છીએ 257 00:15:56,460 --> 00:15:57,350 માત્ર ચલો. 258 00:15:57,350 --> 00:16:00,440 પરંતુ તેઓ બિટ્સ સંગ્રહ કરવા માટે થાય છે કે સામૂહિક એક સરનામું પ્રતિનિધિત્વ કરે છે. 259 00:16:00,440 --> 00:16:03,700 તેથી ટેકનિકલ બધા તેઓ નહીં s માં સંગ્રહિત Ox123 છે. 260 00:16:03,700 --> 00:16:04,680 >> મનુષ્યો પણ અમે - 261 00:16:04,680 --> 00:16:06,020 આજે આગળ સહિત - 262 00:16:06,020 --> 00:16:09,290 ખરેખર, ખાસ કરીને, સંભાળ જવા નથી વાસ્તવિક સરનામા શું છે 263 00:16:09,290 --> 00:16:10,520 મેમરી કેટલાક ચંકને છે. 264 00:16:10,520 --> 00:16:14,040 તે માત્ર વિગતવાર નીચા સ્તર માટે છે બુદ્ધિપૂર્વક રસપ્રદ છે. 265 00:16:14,040 --> 00:16:15,440 તેથી હું આ રદ કરવા જઇ રહ્યો છું. 266 00:16:15,440 --> 00:16:19,810 તેના બદલે, વધુ ઊંચા સ્તર, ફક્ત કહે છે કે અમે પોઇન્ટર વિશે વાત કરી રહ્યા હો ત્યારે 267 00:16:19,810 --> 00:16:22,170 હું માત્ર વધારે ડ્રો કરવા જઇ રહ્યો છું જો પૂરી પાડે છે કે જે વપરાશકર્તા મૈત્રીપૂર્ણ તીર 268 00:16:22,170 --> 00:16:26,060 સમાન વિચાર અને દૂર સાર એ વાસ્તવિક શું િવગતો 269 00:16:26,060 --> 00:16:27,700 અંતર્ગત સરનામું છે. 270 00:16:27,700 --> 00:16:33,290 >> અમે કોડ માટે પાછા જાઓ હવે તો, શું અમે શબ્દમાળા ટી હોય તો છેલ્લા અઠવાડિયે થયું 271 00:16:33,290 --> 00:16:34,510 GetString બરાબર? 272 00:16:34,510 --> 00:16:38,630 હેલ્લો માં ઠીક છે, હું ફરીથી જો, પ્રકાર હું વિચાર કરવા જઇ રહ્યો છું તો આ સમય 273 00:16:38,630 --> 00:16:40,460 મેમરી અન્ય ચંકને. 274 00:16:40,460 --> 00:16:44,820 H-E-l-l-O બેકસ્લેશ 0. 275 00:16:44,820 --> 00:16:48,320 >> પરંતુ હું GetString કહેવાય કારણ કે બીજા સમય - 276 00:16:48,320 --> 00:16:51,100 અને હું જોઈ આ ખબર GetString માટે સ્રોત કોડ - પણ 277 00:16:51,100 --> 00:16:54,350 તે હેલ્લો હતું કે સંયોગ છે તેમ છતાં બે વખત માં ટાઇપ, GetString નથી 278 00:16:54,350 --> 00:16:55,890 ઑપ્ટિમાઇઝ કરવા પ્રયાસ કરવા જતાં અને હોંશિયાર હોય છે. 279 00:16:55,890 --> 00:16:58,550 તે માત્ર અન્ય ચંકને વિચાર રહ્યું જે કોમ્પ્યુટર પરથી મેમરી 280 00:16:58,550 --> 00:16:59,640 અન્ય સરનામાં પર હશે. 281 00:16:59,640 --> 00:17:02,330 આપખુદ માત્ર 456 કહે છે ચાલો. 282 00:17:02,330 --> 00:17:04,079 >> અને પછી તે શું પાછા જવાનું છે? 283 00:17:04,079 --> 00:17:08,030 તે 456 પરત જવા છે અને t માં સંગ્રહે છે. 284 00:17:08,030 --> 00:17:12,010 તેથી શું ખરેખર પર ચાલે છે ડાબા હાથ બાજુ હું બીજા ચંકને હોય છે 285 00:17:12,010 --> 00:17:14,260 મેમરી, 32 બીટ્સ લાક્ષણિક. 286 00:17:14,260 --> 00:17:16,720 અને ત્યાં Ox456 જવા માટે ચાલે છે. 287 00:17:16,720 --> 00:17:20,140 પરંતુ ફરીથી, હું આ રસ રહ્યો નથી હવે ચોક્કસ નંબરો. 288 00:17:20,140 --> 00:17:23,069 હું માત્ર અમૂર્ત જઈ રહ્યો એક તીર તરીકે દોરે છે. 289 00:17:23,069 --> 00:17:25,202 >> તેથી હવે આ નવી સમજૂતી છે. 290 00:17:25,202 --> 00:17:28,735 પરંતુ તે તે જ ચોક્કસ વિચાર છે આ બધા સમય રહ્યું કરવામાં આવી. 291 00:17:28,735 --> 00:17:33,150 અને તેથી કારણ, પછી કે આ પ્રથમ સરખાવો આવૃત્તિ બગડેલ હતો 292 00:17:33,150 --> 00:17:34,480 છેલ્લા અઠવાડિયે શા માટે છે? 293 00:17:34,480 --> 00:17:38,000 ઓ બરાબર બરાબર જો તમે કરો ત્યારે તમે ખરેખર શું છે T 294 00:17:38,000 --> 00:17:40,550 હૂડ સરખામણી નીચે? 295 00:17:40,550 --> 00:17:41,910 >> તમે સરનામાં સરખામણી કરી રહ્યા છીએ. 296 00:17:41,910 --> 00:17:47,950 અને માત્ર તર્ક, સ્પષ્ટ રીતે, Ox123 સમાન Ox456 જવા નથી. 297 00:17:47,950 --> 00:17:49,380 તે નંબરો, તે બીટ્સ માત્ર અલગ અલગ છે. 298 00:17:49,380 --> 00:17:53,220 >> અને તેથી સતત, છેલ્લા અઠવાડિયે જણાવ્યું હતું કે, તે તમે અલગ વસ્તુઓ લખો તો પણ 299 00:17:53,220 --> 00:17:55,360 શબ્દો અક્ષરશઃ જ હતા. 300 00:17:55,360 --> 00:17:58,770 તેથી અમે આ નક્કી કરે છે. 301 00:17:58,770 --> 00:18:00,120 જનસાધારણ ના નિયમો માં, સુધારો શું હતું? 302 00:18:00,120 --> 00:18:02,110 >> પ્રેક્ષક: એક કાર્ય કરો. 303 00:18:02,110 --> 00:18:02,870 >> સ્પીકર 1: એક કાર્ય કરો. 304 00:18:02,870 --> 00:18:05,190 અથવા તારાઓ ચોક્કસપણે સંકળાયેલા હોય છે, પરંતુ શું કરવા માટે વિધેય વાપરી? 305 00:18:05,190 --> 00:18:05,962 >> પ્રેક્ષક: શબ્દમાળાઓ સરખાવવા માટે. 306 00:18:05,962 --> 00:18:07,390 >> સ્પીકર 1: શબ્દમાળાઓ સરખાવવા માટે. 307 00:18:07,390 --> 00:18:11,030 તેથી અહીં મૂળભૂત સમસ્યા હતી, હું માત્ર વિચારણા કરવામાં આવી છે કે 308 00:18:11,030 --> 00:18:15,870 દ્વારા વ્યાખ્યાયિત કરવા માટે શબ્દમાળાઓ ગુણવત્તા તેમના સરનામાં સરખામણી. 309 00:18:15,870 --> 00:18:18,540 અને દેખીતી રીતે જે હવે એક વખત માત્ર મૂક છે તમે શું થઈ રહ્યું છે તે સમજવા 310 00:18:18,540 --> 00:18:19,510 હૂડ નીચે. 311 00:18:19,510 --> 00:18:23,270 સાચી જોવા માટે શબ્દમાળાઓ સરખાવવા માટે, જો તેઓ કે માનવ આ રીતે સમાન છો 312 00:18:23,270 --> 00:18:26,680 બે શબ્દમાળાઓ સમાન હોઈ વિચારણા કરશે અમે તેમને પાત્ર તુલના કરવાની જરૂર 313 00:18:26,680 --> 00:18:28,070 પાત્ર માટે પાત્ર. 314 00:18:28,070 --> 00:18:30,020 >> હવે હું પૂર્ણ કરી શકે છે આ ખૂબ જ tediously. 315 00:18:30,020 --> 00:18:32,240 પરંતુ પરિચીત, અમે છો લૂપ માટે ઉપયોગ થાય છે. 316 00:18:32,240 --> 00:18:36,050 અને માત્ર ઓ કૌંસ સરખાવવા ટી કૌંસ હું સામે હું. 317 00:18:36,050 --> 00:18:39,590 ટી કૌંસ સામે ઓ કૌંસ હું વત્તા 1 હું વત્તા 1, અને તેથી આગળ, અંદર 318 00:18:39,590 --> 00:18:40,580 લૂપ અમુક પ્રકારની. 319 00:18:40,580 --> 00:18:44,950 અને હું માનું છું કે કોઈપણ બે અક્ષરો સ્પોટ જો અલગ અલગ, અથવા હું ooh ખ્યાલ છે કે, જો s છે 320 00:18:44,950 --> 00:18:48,410 ટી કરતા ટી કરતા ટૂંકા અથવા લાંબા હું તરત જ, ખોટી કહી શકો છો 321 00:18:48,410 --> 00:18:49,390 તેઓ જ નથી. 322 00:18:49,390 --> 00:18:55,370 >> પરંતુ હું ઓ અને ટી દ્વારા વિચાર અને કહે તો જ, જ, જ, જ, જ, ઓવરને 323 00:18:55,370 --> 00:18:58,520 બંને શબ્દમાળાઓ, હું કહી શકો છો સાચું, તેઓ સમાન હોય છે. 324 00:18:58,520 --> 00:19:01,040 વેલ, thankfully, વર્ષો પહેલા કોઈને અમારા માટે કે કોડ કે જે લખ્યું. 325 00:19:01,040 --> 00:19:03,790 >> અને તેઓ તેને StrComp કહેવાય સ્ટ્રિંગ તુલના માટે. 326 00:19:03,790 --> 00:19:11,900 અને તે ઓછી કાઉન્ટર છે છતાં પણ તે તો સાહજિક StrComp 0 આપે છે 327 00:19:11,900 --> 00:19:14,520 બે શબ્દમાળાઓ, S અને T સમાન હોય છે. 328 00:19:14,520 --> 00:19:18,090 પરંતુ તે નકારાત્મક કિંમત આપે તો ઓ અથવા ટી મૂળાક્ષરોની પહેલાં આવવું જોઈએ 329 00:19:18,090 --> 00:19:20,610 તે આવવું જોઈએ જો હકારાત્મક કિંમત ટી મૂળાક્ષરોની પછી. 330 00:19:20,610 --> 00:19:24,030 >> તમે ક્યારેય કંઈક સૉર્ટ કરવા માંગો છો તેથી જો, તે StrComp ઉપયોગી છે કે જે બહાર કરે છે. 331 00:19:24,030 --> 00:19:26,660 તે માત્ર કહે છે નથી કારણ કે આ બોલ પર કોઈ અથવા હા, બરાબર નથી અથવા. 332 00:19:26,660 --> 00:19:30,440 તે તમે ઓર્ડર એક અર્થમાં આપે છે એક શબ્દકોશ શકે ગમે છે. 333 00:19:30,440 --> 00:19:33,770 StrComp તેથી, ઓ અલ્પવિરામ ટી બરાબર 0 અર્થ બરાબર કે 334 00:19:33,770 --> 00:19:35,200 શબ્દમાળાઓ સાચી સમાન હોય છે. 335 00:19:35,200 --> 00:19:38,680 રહેલી વ્યકિત આ કાર્ય લખ્યું છે કારણ કે વર્ષો પહેલા અનુમાન લૂપ માટે ઉપયોગ 336 00:19:38,680 --> 00:19:42,840 જેમ કે જ્યારે લૂપ અથવા કંઈક ફરી અક્ષરો પર સંકલિત કરવા માટે 337 00:19:42,840 --> 00:19:45,270 અને ફરી અને ફરી. 338 00:19:45,270 --> 00:19:47,300 >> પરંતુ સમસ્યા બે અહીં ઊભો થયો. 339 00:19:47,300 --> 00:19:48,750 આ copy0.c હતી. 340 00:19:48,750 --> 00:19:51,680 અને લાલ માં બે છે તે અપૂર્ણ છે કારણ કે. 341 00:19:51,680 --> 00:19:52,800 અને અમે અહીં શું કર્યું? 342 00:19:52,800 --> 00:19:54,310 ઠીક છે, હું પ્રથમ GetString કહેવાય છે. 343 00:19:54,310 --> 00:19:56,255 અને હું s માં પરત કિંમત સંગ્રહિત. 344 00:19:56,255 --> 00:20:00,260 કે જેથી ખૂબ ખૂબ તરીકે જ છે ચિત્ર આ ટોચ ભાગ છે. 345 00:20:00,260 --> 00:20:01,490 >> પરંતુ શું તે પછી આવે છે? 346 00:20:01,490 --> 00:20:04,980 ઠીક છે, મને આગળ વધો અને છુટકારો મળી દો આ સમગ્ર ટોળું છે. 347 00:20:04,980 --> 00:20:09,650 અમે જ્યાં અમે માત્ર સમય રીવાઇન્ડ પડશે હવે સાથે સુસંગત છે જે ઓનલાઈન છે, 348 00:20:09,650 --> 00:20:10,940 અપ લાઇન ત્યાં એક છે. 349 00:20:10,940 --> 00:20:11,400 >> હું તપાસો. 350 00:20:11,400 --> 00:20:13,450 ઓ બરાબર તો 0 બરાબર. 351 00:20:13,450 --> 00:20:18,670 હવે, એક ઝડપી બાજુ નોંધ, જ્યારે GetString 0 પાછા શકે છે? 352 00:20:18,670 --> 00:20:19,580 પૂરતી મેમરી નથી છે. 353 00:20:19,580 --> 00:20:19,880 બરાબર ને? 354 00:20:19,880 --> 00:20:22,310 >> તે આ શું ચાલે છે કે દુર્લભ છે ચોક્કસપણે જે કમ્પ્યુટર પર 355 00:20:22,310 --> 00:20:24,740 અથવા megs સેંકડો મળી RAM ની પણ શોનો. 356 00:20:24,740 --> 00:20:27,080 પરંતુ તે સિદ્ધાંત માં પરત કરી શકે છે 0, ખાસ કરીને જો 357 00:20:27,080 --> 00:20:28,080 વપરાશકર્તા સહકાર નથી. 358 00:20:28,080 --> 00:20:31,640 તમે ન હોય જેમ ડોળ માર્ગો છે ઇનપુટ કંઈપણ અને યુક્તિ 359 00:20:31,640 --> 00:20:34,100 પરત માં GetString અસરકારક 0. 360 00:20:34,100 --> 00:20:35,470 >> તેથી તે ચકાસવા માટે બનશે. 361 00:20:35,470 --> 00:20:39,430 તમે કોઇ પણ શરૂ કર્યું છે કારણ કે જો પહેલેથી જ, સેગ્મેન્ટેશન ખામી વિચાર - 362 00:20:39,430 --> 00:20:42,280 જે કદાચ સ્રોત છે કેટલાક હતાશા ઓફ - 363 00:20:42,280 --> 00:20:46,150 તે લગભગ હંમેશા પરિણામ છે મેમરી સંબંધિત ભૂલ છે. 364 00:20:46,150 --> 00:20:50,440 અચાનક તમે સંદર્ભે સાથે મિશ્રિત તમે ખ્યાલ ન હતો તો પણ નિર્દેશક, 365 00:20:50,440 --> 00:20:51,530 એક નિર્દેશક આવી હતી. 366 00:20:51,530 --> 00:20:55,260 તેથી તમે સેગ્મેન્ટેશન પ્રેરિત છે શકે નો ઉપયોગ કરીને સપ્તાહ એક પ્રારંભ તરીકે ખામી 367 00:20:55,260 --> 00:21:02,100 લૂપ અથવા એક જ્યારે માટે કંઈક ખૂબ દૂર જઈને લૂપ અને એક એરે 368 00:21:02,100 --> 00:21:05,900 કેટલાક ઍરેની સરહદો ભૂતકાળમાં કે જો તમે અઠવાડિયાના બે જાહેર 369 00:21:05,900 --> 00:21:06,690 ચોક્કસ. 370 00:21:06,690 --> 00:21:09,220 >> તમે પણ સમસ્યા તે થાય છે શકે બ્રેકઆઉટ સાથે ચાર સુયોજિત કરો. 371 00:21:09,220 --> 00:21:12,910 તમે કદાચ જોઇ ન હોય છતાં પણ માટે વિતરણ કોડ કોઈપણ તારાઓ 372 00:21:12,910 --> 00:21:17,410 બ્રેકઆઉટ, તે બહાર વળે કે જેઓ GRect અને GOval અને અન્ય જેમ વસ્તુઓ, 373 00:21:17,410 --> 00:21:19,650 તે ખરેખર પોઇન્ટર છે હૂડ નીચે. 374 00:21:19,650 --> 00:21:23,430 >> અમને ગમે છે પરંતુ સ્ટેનફોર્ડ, છુપાવે છે સોર્ટ કે વિગતવાર ઓછામાં ઓછી લાઈબ્રેરીઓ માટે 375 00:21:23,430 --> 00:21:26,540 હેતુઓ, ખૂબ અમે જેમ સ્ટ્રિંગ અને ચાર * છે. 376 00:21:26,540 --> 00:21:30,060 પરંતુ GRect અને GOval અને તે તમામ તમે ગાય્ઝ છે અથવા વસ્તુઓ મદદથી થશે 377 00:21:30,060 --> 00:21:32,630 આ સપ્તાહના અંતે છે મેમરી સરનામાંઓ. 378 00:21:32,630 --> 00:21:33,650 તમે માત્ર તે ખબર નથી. 379 00:21:33,650 --> 00:21:37,240 >> તેથી તે, કદાચ, તો પછી આશ્ચર્યજનક નથી તમે કેટલાક પર સફર હોઇ શકે તેવી 380 00:21:37,240 --> 00:21:38,580 સેગ્મેન્ટેશન ખામી. 381 00:21:38,580 --> 00:21:41,290 પરંતુ, હવે અહીં રસપ્રદ શું છે અમે શું 0 તપાસ બાદ જો 382 00:21:41,290 --> 00:21:43,460 સ્ટ્રિંગ ટી ઓ નોંધાયો નહીં. 383 00:21:43,460 --> 00:21:44,690 ઠીક છે, મને ટી જાહેર કરવા દો. 384 00:21:44,690 --> 00:21:47,730 હું એક ચોરસ તરીકે ડ્રો કરવા જઇ રહ્યો છું 32 બિટ્સ, તે કહે છે. 385 00:21:47,730 --> 00:21:49,740 અને પછી હું જઈ રહ્યો છું ઓ નોંધાયો નહીં. 386 00:21:49,740 --> 00:21:51,130 >> ઠીક છે, કે શું અર્થ છે? 387 00:21:51,130 --> 00:21:53,280 ઠીક છે, તે વિચાર થોડા હાર્ડ વિશે તે મુજબની ચિત્ર. 388 00:21:53,280 --> 00:21:55,025 પરંતુ લેટ્સ વિશે વિચારો X ની અંદર શું છે? 389 00:21:55,025 --> 00:21:59,430 આ ચલ અંદર શાબ્દિક શું છે? 390 00:21:59,430 --> 00:22:01,500 આ કિંમત Ox123. 391 00:22:01,500 --> 00:22:05,815 >> તેથી મને કહે છે જ્યારે શબ્દમાળા ટી ઓ નહીં, કે શાબ્દિક નંબર લેવા અર્થ એ થાય 392 00:22:05,815 --> 00:22:10,070 ઓ માં, જે Ox123 છે અને તે Ox123 મૂકો. 393 00:22:10,070 --> 00:22:13,740 અથવા pictorially છે, તો હું પ્રકારની અમૂર્ત દૂર કે વિગતવાર થી તે છે 394 00:22:13,740 --> 00:22:16,600 શાબ્દિક કરવાની અસર આ જ રીતે. 395 00:22:16,600 --> 00:22:22,110 >> તેથી હવે, છેલ્લા અઠવાડિયે પાછા લાગે ત્યારે અમે મૂડીવાદી ટી હું આગળ 396 00:22:22,110 --> 00:22:23,800 ટી કૌંસ 0 હતી. 397 00:22:23,800 --> 00:22:27,150 વેલ, જો તે ટી કૌંસ 0 છે, છતાં પણ નિર્દેશક, તો તમે તેને છતાં સારવાર કરી શકે છે 398 00:22:27,150 --> 00:22:29,220 જો તે ચોરસ સાથે, એક એરે છે કૌંસ સંકેત. 399 00:22:29,220 --> 00:22:31,550 >> તેથી જ્યાં ટી કૌંસ 0 છે? 400 00:22:31,550 --> 00:22:32,990 વેલ, તે ક છે. 401 00:22:32,990 --> 00:22:36,800 અને તેથી અમે કોડ કે લીટી વાપરો ત્યારે, કે કેચ type.h છે જે બે ઉચ્ચ, 402 00:22:36,800 --> 00:22:38,460 હેડર ફાઇલ, કે જ્યાં ચોક્કો તે જાહેર છે. 403 00:22:38,460 --> 00:22:44,410 તમે આ એચ અક્ષરો પરંતુ રહ્યા છો કોર્સ, કે જે એક જ ચોક્કસ-h છે 404 00:22:44,410 --> 00:22:46,540 s ની અંદર, તેથી વાત કરવા માટે. 405 00:22:46,540 --> 00:22:51,930 અને તેથી હવે તમે અથવા બદલાયેલ છે મૂડીગત મૂળ અને બંને 406 00:22:51,930 --> 00:22:53,120 નકલ કહેવાતી. 407 00:22:53,120 --> 00:22:56,620 જો તમે એક નકલ કરી નથી કારણ કે માનવ તે હોઈ માંગો છો કે જે રીતે. 408 00:22:56,620 --> 00:22:59,710 >> તેથી અહીં સુધારો, શું હતું copy1.c છેલ્લા સપ્તાહમાં? 409 00:22:59,710 --> 00:23:03,070 410 00:23:03,070 --> 00:23:05,580 કાર્યો, જેથી અમે ખરેખર શકે શબ્દમાળા નકલ કરો. 411 00:23:05,580 --> 00:23:08,700 અને મૂળભૂત, અમે શું જરૂર નથી શબ્દમાળા નકલ કરવા માટે કરે છે? 412 00:23:08,700 --> 00:23:12,070 >> ઠીક છે, અહીં તો આ લીલા આવૃત્તિમાં હું છું તે એકદમ નીચા સ્તર કરવા જઇ. 413 00:23:12,070 --> 00:23:14,260 કાર્યો ખરેખર છે તેઓ આ સાથે મદદ કરી શકે છે. 414 00:23:14,260 --> 00:23:17,710 પરંતુ મોટા ભાગના આધારભૂત એક અને સૌથી વધુ પરિચિત એક, ઓછામાં ઓછા, ટૂંક સમયમાં થશે 415 00:23:17,710 --> 00:23:19,600 અમને પરિચિત, નીચેની છે - 416 00:23:19,600 --> 00:23:21,910 જેથી પ્રથમ વાક્ય પર એક લીલા કોડ હવે. 417 00:23:21,910 --> 00:23:23,970 >> હું માત્ર ચાર * તરીકે ઓ ફરીથી લખ્યા હતા. 418 00:23:23,970 --> 00:23:25,250 આ બોલ પર કોઈ કાર્યાત્મક છે ત્યાં તફાવત. 419 00:23:25,250 --> 00:23:28,790 હું માત્ર CS50 પુસ્તકાલયમાં પથ્થરમારો અને હું તે ચાર * શું છે તે ફોન છું. 420 00:23:28,790 --> 00:23:31,640 >> હવે કોઈ, કોઈ, કોઈ હતા, કારણ કે નથી કે જે અમુક ભૂલ ચકાસણી 421 00:23:31,640 --> 00:23:33,200 ફરી વિશે વાત રસપ્રદ. 422 00:23:33,200 --> 00:23:34,710 તેથી હવે ટી જાહેર કરવામાં આવે છે. 423 00:23:34,710 --> 00:23:35,780 તે પણ એક ચાર * છે. 424 00:23:35,780 --> 00:23:38,280 તેથી હું પર થોડી ચોરસ દોર્યું પહેલાં જેવી સ્ક્રીન. 425 00:23:38,280 --> 00:23:41,870 >> પરંતુ જમણી બાજુ પર, malloc, અમે મેમરી ફાળવણી છે. 426 00:23:41,870 --> 00:23:44,130 તેથી મેમરી કેટલાક ચંકને ફાળવો. 427 00:23:44,130 --> 00:23:48,830 અને અમે ખરેખર કેટલા બાઇટ્સ કરવું ફાળવો કરવા માંગો છો, તે લાગતું નથી? 428 00:23:48,830 --> 00:23:50,340 >> વેલ, S ના શબ્દમાળા નહીં. 429 00:23:50,340 --> 00:23:52,310 તે હેલ્લો કે તેથી જો પાંચ હોઈ ચાલે. 430 00:23:52,310 --> 00:23:53,950 અમે H-E-l-l-O કહે છે પડશે. 431 00:23:53,950 --> 00:23:55,090 પાંચ બાઇટ્સ છે. 432 00:23:55,090 --> 00:23:57,960 >> પરંતુ પછી 1 વત્તા, શા માટે 1? 433 00:23:57,960 --> 00:23:58,830 0 પાત્ર. 434 00:23:58,830 --> 00:24:03,640 અમે આ વ્યક્તિ માટે જગ્યા છોડો નહિં હોય, તો અમે આકસ્મિક પરિસ્થિતિ બનાવી શકે છે 435 00:24:03,640 --> 00:24:05,600 શબ્દમાળા છે જ્યાં H-E-l-l-O. 436 00:24:05,600 --> 00:24:08,470 અને પછી આગલી વખતે GetString છે , કહે છે અને હું હમણાં પૂરતું, ટાઈપ 437 00:24:08,470 --> 00:24:14,020 ડેવિડ, D-A-V-i-d, કમ્પ્યૂટર ચાલુ છે ઓ ખરેખર છે કે જે વિચારો 438 00:24:14,020 --> 00:24:18,900 H-E-l-l-O-D-A-V-i-d છે કારણ કે તે શબ્દો વચ્ચે કોઈ ભંગ. 439 00:24:18,900 --> 00:24:19,810 >> તેથી અમે તે બ્રેક જરૂર છે. 440 00:24:19,810 --> 00:24:20,720 તેથી આપણે પાંચ માંગતા નથી. 441 00:24:20,720 --> 00:24:22,100 અમે છ બાઇટ્સ માંગો છો. 442 00:24:22,100 --> 00:24:23,110 >> અને બાઇટ્સ મને કહે. 443 00:24:23,110 --> 00:24:25,220 પરંતુ તે ચાર ઓફ ખરેખર સમય માપ છે. 444 00:24:25,220 --> 00:24:28,040 ટેક્નિકલ ચાર લગભગ છે હંમેશા એક બાઇટ. 445 00:24:28,040 --> 00:24:31,030 >> પરંતુ માત્ર અમારી કોડ પોર્ટેબલ બનાવવા માટે, તેથી તે પર કામ કરે છે, કે જેથી વાત કરવા માટે 446 00:24:31,030 --> 00:24:33,750 વિવિધ કમ્પ્યૂટરો પણ તેઓ કદાચ જો નીચે કંઈક અલગ હોઈ 447 00:24:33,750 --> 00:24:36,590 હૂડ, હું સામાન્ય જઈ રહ્યો ચાર ઓફ કહે કદ કે જેથી 448 00:24:36,590 --> 00:24:37,660 મારી કોડ હંમેશા કામ કરે છે. 449 00:24:37,660 --> 00:24:40,610 અને હું તે માત્ર recompile જરૂર નથી હું મારું કમ્પ્યુટર અપગ્રેડ અથવા ઉપયોગ કારણ કે 450 00:24:40,610 --> 00:24:42,140 કેટલાક અલગ પ્લેટફોર્મ. 451 00:24:42,140 --> 00:24:45,300 >> તેથી હું 6 વખત માપ મળી છે 1 હોઈ બને, જે ચાર. 452 00:24:45,300 --> 00:24:47,440 તેથી અર્થ એ થાય કે malloc કરી શકે છે મને છ બાઇટ્સ આપે છે. 453 00:24:47,440 --> 00:24:49,140 ખરેખર કરી કે શું છે? 454 00:24:49,140 --> 00:24:52,810 ઠીક છે, મને અહીં સમય પાછા પત્રક દો અમે વાર્તામાં છે માટે. 455 00:24:52,810 --> 00:24:57,620 >> હું અહીં પાછા જાઓ, તેથી જો હું જાહેર કર્યું ટી તરીકે ઓળખાતા ચાર *. 456 00:24:57,620 --> 00:25:00,280 હું હવે છ બાઇટ્સ માટે malloc કહેવાય કર્યું છે. 457 00:25:00,280 --> 00:25:06,400 અને હવે હું તે છ ડ્રો કરવા જઇ રહ્યો છું માત્ર એરે અગાઉ જેવી બાઇટ્સ. 458 00:25:06,400 --> 00:25:10,570 પરંતુ હું ખરેખર શું છે તે ખબર નથી આ એરે પર આધારિત છે. 459 00:25:10,570 --> 00:25:14,640 >> તમે મેમરીને ફાળવવા તો તે બહાર વળે કે તમે અમુક છે તે વિશ્વાસ કરી શકતું નથી 460 00:25:14,640 --> 00:25:15,810 ત્યાં ઓળખાય મૂલ્ય. 461 00:25:15,810 --> 00:25:18,400 તે કંઈક દ્વારા ઉપયોગ કરવામાં આવે છે શકે છે બીજું, કેટલાક અન્ય કાર્ય, કેટલાક અન્ય 462 00:25:18,400 --> 00:25:19,630 તમે લખ્યું કે કોડ રેખા. 463 00:25:19,630 --> 00:25:22,870 તેથી આપણે સામાન્ય રીતે આ કચરો કૉલ પડશે કિંમતો અને, કદાચ, તેમને ડ્રો 464 00:25:22,870 --> 00:25:26,170 પ્રશ્ન ગુણ, માત્ર સૂચવે છે કે અમે ત્યાં ખરેખર શું છે તે ખબર નથી. 465 00:25:26,170 --> 00:25:30,390 અને કે જેથી લાંબા અમે કોઈ મોટા સોદો છે તે પર ફરીથી લખી કરવા માટે પૂરતી સ્માર્ટ છે 466 00:25:30,390 --> 00:25:34,550 કચરો નંબરો સાથે મૂલ્યો અથવા અમે વિશે કાળજી કે અક્ષરો. 467 00:25:34,550 --> 00:25:36,340 >> તેથી આ કિસ્સામાં શું હું શું કરીશ? 468 00:25:36,340 --> 00:25:38,670 ઠીક છે, મારા લાઇન કોડ આગામી, હું ચાર હોય છે. 469 00:25:38,670 --> 00:25:41,350 હું વિચાર 0 INT, એ નહીં જો s ની શબ્દમાળા નહીં. 470 00:25:41,350 --> 00:25:42,750 લૂપ માટે જેથી પરિચિત. 471 00:25:42,750 --> 00:25:45,875 હું કરતા ઓછો અથવા એ બરાબર છે જે સામાન્ય રીતે ઉપર છે. 472 00:25:45,875 --> 00:25:47,500 >> પરંતુ આ સમય તેને ઇરાદાપૂર્વક છે. 473 00:25:47,500 --> 00:25:51,890 હું + +, અને પછી હું સરળતાથી કરવું ટી કૌંસ હું ઓ નોંધાયો નહીં. 474 00:25:51,890 --> 00:25:56,320 મારા ચિત્ર પર આ જેવી લાગે છે, કારણ કે ટી માં સ્ટોર આ ક્ષણ છે, જે 475 00:25:56,320 --> 00:25:59,530 મેમરી કે રેન્ડમ ચંકને ઓફ સરનામા જેની કિંમતો અજ્ઞાત છે. 476 00:25:59,530 --> 00:26:03,030 પરંતુ જલદી હું ટી કૌંસ જેમ અહીં મને મૂકે 0. 477 00:26:03,030 --> 00:26:07,430 >> અને ત્યાં શું દોરેલા રહેલી એન્ડ્સ? 478 00:26:07,430 --> 00:26:08,740 અમે હરભજન મૂકે અંત. 479 00:26:08,740 --> 00:26:11,170 કે ઓ કૌંસ 0 શું છે કારણ કે. 480 00:26:11,170 --> 00:26:14,300 માટે અને પછી એ જ વસ્તુ ઇ, અને L, અને L, અને ઓ. 481 00:26:14,300 --> 00:26:17,930 >> એ, શા માટે હું મારફતે જાઓ હતી એ માટે એક સમાન? 482 00:26:17,930 --> 00:26:19,200 0 પાત્ર છે. 483 00:26:19,200 --> 00:26:23,580 તેથી માત્ર પછી, સ્પષ્ટ હોવી જોઈએ, તો હું ખરેખર કરવા માટે ભૂંસી ગમે આ કચરો 484 00:26:23,580 --> 00:26:28,870 મૂલ્યો છે અને પછી ખરેખર માં ડ્રો હું અપેક્ષા શું છે, આ ઓ કૌંસ 1, 2, છે 485 00:26:28,870 --> 00:26:32,440 3, 4, વત્તા કે પાછળનો છે નવું પાત્ર. 486 00:26:32,440 --> 00:26:36,080 >> અને તેથી હવે અમે, ડોટ છેલ્લા ચાલુ રાખ્યું જો આ યોગ્ય આવૃત્તિ માં ટપકું, ડોટ 487 00:26:36,080 --> 00:26:41,930 અને કેપિટલ ટી કૌંસ 0 હું કરી છે, કોર્સ અક્ષરો કરી ફક્ત આ 488 00:26:41,930 --> 00:26:47,050 અહીં ગાય, જે ખ્યાલ પ્રમાણે, છેવટે ગોલ નોંધાવ્યો હતો. 489 00:26:47,050 --> 00:26:48,040 તેથી કે જે બધા નિર્દેશક છે. 490 00:26:48,040 --> 00:26:51,430 >> અને તમે અઠવાડિયા માટે તેમને ઉપયોગ કરી રહ્યો છું હવે શબ્દમાળાઓ સંદર્ભમાં. 491 00:26:51,430 --> 00:26:53,530 પરંતુ હૂડ નીચે તેઓ કરશો થોડી વધુ જટિલ. 492 00:26:53,530 --> 00:26:57,520 પરંતુ તમે આ તેમને વિશે વિચારો તો સચિત્ર ફોર્મ તેઓ કરશો કે હું પ્રસ્તાવ 493 00:26:57,520 --> 00:27:01,720 તેઓ કદાચ બધા કે ડરામણી નથી પ્રથમ પ્રથમ નજરમાં લાગે શકે છે, 494 00:27:01,720 --> 00:27:04,730 ખાસ કરીને જેમ કે નવા વાક્યરચના સાથે. 495 00:27:04,730 --> 00:27:07,290 પોઇન્ટર પર કોઈપણ પ્રશ્નો, શબ્દમાળાઓ, અથવા અક્ષરો? 496 00:27:07,290 --> 00:27:07,580 યાહ? 497 00:27:07,580 --> 00:27:09,252 >> પ્રેક્ષક: તમે પાછા જઇ શકો છો માટે [અશ્રાવ્ય] માટે? 498 00:27:09,252 --> 00:27:10,502 >> સ્પીકર 1: શ્યોર. 499 00:27:10,502 --> 00:27:14,058 500 00:27:14,058 --> 00:27:19,525 >> પ્રેક્ષક: તમારા ખૂબ જ છેલ્લા આવે તેથી કેવી રીતે રેખા, તમે * ટી લીટી નથી 501 00:27:19,525 --> 00:27:21,513 અને A * S લીટી માં? 502 00:27:21,513 --> 00:27:23,004 તમે માટે સંદર્ભ નથી - 503 00:27:23,004 --> 00:27:24,640 >> સ્પીકર 1: આહ, ખરેખર સારા પ્રશ્ન. 504 00:27:24,640 --> 00:27:26,800 શા માટે હું * ટી અને A * S નથી? 505 00:27:26,800 --> 00:27:30,340 કારણ કે અમારી જેમ સંક્ષિપ્તમાં, છેલ્લા અઠવાડિયે, કાર્ય સ્વેપ, હું કે જે, જ્યારે કહે હતી 506 00:27:30,340 --> 00:27:33,350 તમે એક નિર્દેશક અર્થ મળી છે અમે હતી તમે ત્યાં જવા જે 507 00:27:33,350 --> 00:27:36,590 શારીરિક સ્ટેજ પર, વાસ્તવમાં હતી સ્ટાર ઓપરેટર વાપરો. 508 00:27:36,590 --> 00:27:40,570 >> તે બહાર વળે કે આ ચોરસ કૌંસ સંકેત અમે વાકયરચનામાં કૉલ કરશો શું છે 509 00:27:40,570 --> 00:27:44,190 માત્ર એક સેક્સી માર્ગ છે જે ખાંડ, માટે તે લઘુલિપિ સંકેત કહીને 510 00:27:44,190 --> 00:27:45,950 તમે વર્ણન રહ્યાં છો તે જ. 511 00:27:45,950 --> 00:27:49,385 પરંતુ તે થોડી વધુ સાહજિક છે. 512 00:27:49,385 --> 00:27:53,510 અને બનાવવા જોખમ પર આ વધુ લાગે છે તે જરૂર કરતાં જટિલ, 513 00:27:53,510 --> 00:27:56,990 શું ખરેખર અહીં રહ્યું છે નીચેના છે - 514 00:27:56,990 --> 00:28:01,450 હું એનો અર્થ એ થાય * ટી કહે છે કે જો પર જાઓ જો સરનામા ટી માં સ્ટોર. 515 00:28:01,450 --> 00:28:04,350 >> તેથી શાબ્દિક, સ્ટોર ટી હોય તો કે-h ની સરનામા 516 00:28:04,350 --> 00:28:07,300 શરૂઆતમાં * ટી અર્થ અહીં જાઓ. 517 00:28:07,300 --> 00:28:10,730 હવે, ટી કૌંસ 0 શું અર્થ છે? 518 00:28:10,730 --> 00:28:11,560 જ ચોક્કસ વસ્તુ. 519 00:28:11,560 --> 00:28:13,510 તે માત્ર થોડી વધુ વપરાશકર્તા લખવા માટે અનુકૂળ છે. 520 00:28:13,510 --> 00:28:14,430 >> પરંતુ હું હજુ સુધી કરવામાં નથી. 521 00:28:14,430 --> 00:28:17,800 હું માત્ર * ટી * ઓ નોંધાયો કહી ન શકે. 522 00:28:17,800 --> 00:28:19,440 કારણ કે હું પછી શું કરવાનું આવશે? 523 00:28:19,440 --> 00:28:22,950 હું h,-h,-h,-h, એચ મૂકે હશો સમગ્ર બાબત દરમ્યાન. 524 00:28:22,950 --> 00:28:22,995 બરાબર ને? 525 00:28:22,995 --> 00:28:26,020 >> * ટી છે કારણ કે ટી ​​માં સરનામા માટે જાઓ. 526 00:28:26,020 --> 00:28:27,580 પરંતુ અમે એક લૂપ અંદર છો. 527 00:28:27,580 --> 00:28:32,150 અને શું કિંમત હું incrementing છું અલબત્ત, દરેક ઇટરેશન પર? 528 00:28:32,150 --> 00:28:32,690 હું. 529 00:28:32,690 --> 00:28:34,590 >> પરંતુ તક છે અહીં, અધિકાર? 530 00:28:34,590 --> 00:28:37,870 તે મેળવવામાં માતાનો જેમ આ લાગે છે, તેમ છતાં થોડી વધુ વ્યવહારદક્ષ 531 00:28:37,870 --> 00:28:40,730 જો ચોરસ કૌંસ સંકેત કરતાં અમે કેટલાક સમય માટે ઉપયોગ કર્યો - 532 00:28:40,730 --> 00:28:43,840 મને ત્યાં મારા ક ફેરફાર પૂર્વવત્ દો - 533 00:28:43,840 --> 00:28:48,870 આ હવે થોડી મેળવવામાં આવે છે છતાં પણ પારખુ, મૂળભૂત વિચાર, જો * ટી 534 00:28:48,870 --> 00:28:53,630 અહીં અર્થ થાય છે અને * ટી માત્ર છે ટી માં સરનામા માટે જાઓ. 535 00:28:53,630 --> 00:28:54,990 >> પરંતુ ટી માં સરનામા શું હતું? 536 00:28:54,990 --> 00:28:56,850 અમે ઉપયોગ ચાલુ રાખી સંખ્યા? 537 00:28:56,850 --> 00:29:00,540 Ox456 જેમ, માતાનો કે પાછું લાવવા દો માત્ર ચર્ચાના સુરક્ષા માટે. 538 00:29:00,540 --> 00:29:05,380 ઠીક છે, હું ઈ અંતે વિચાર કરવા માંગો છો ટી સ્ટ્રિંગ, હું ફક્ત જવા માંગો છો 539 00:29:05,380 --> 00:29:06,460 અનિવાર્યપણે, 456. 540 00:29:06,460 --> 00:29:09,230 >> અથવા બદલે, 457. 541 00:29:09,230 --> 00:29:10,590 હું માત્ર એક ઉમેરવાની જરૂર છે. 542 00:29:10,590 --> 00:29:11,790 પરંતુ હું અધિકાર છે, કે જે કરી શકે છે? 543 00:29:11,790 --> 00:29:14,680 ટી, હું ડ્રોઈંગ રાખવા છતાં પણ કારણ કે તે હવે એક તીર તરીકે, તે માત્ર એક ચોક્કો 544 00:29:14,680 --> 00:29:16,570 નંબર, Ox456. 545 00:29:16,570 --> 00:29:21,400 અને હું એક, ઉમેરવા, અથવા વધુ હોય સામાન્ય રીતે, હું આ કરી શકો છો કે જે હું ઉમેરવા જો 546 00:29:21,400 --> 00:29:24,350 હું માંગો છો બરાબર જ્યાં ખરેખર વિચાર. 547 00:29:24,350 --> 00:29:26,260 તેથી હું ખરેખર આવું હોય તો - 548 00:29:26,260 --> 00:29:28,970 અને આ હવે કહેવાય છે તે છે નિર્દેશક અંકગણિત - 549 00:29:28,970 --> 00:29:30,375 હું આ વાક્ય દૂર કરી શકો છો. 550 00:29:30,375 --> 00:29:33,550 પ્રમાણિકપણે છે, કે જે હું સ્પષ્ટ અને લાગે છે વાંચવા માટે થોડી વધુ વપરાશકર્તા મૈત્રીપૂર્ણ. 551 00:29:33,550 --> 00:29:35,970 પરંતુ આ બોલ પર કોઈ ઓછી યોગ્ય છે. 552 00:29:35,970 --> 00:29:38,570 >> કોડના આ વાક્ય હવે ઉપયોગ કરી રહ્યા છે નિર્દેશક અંકગણિત. 553 00:29:38,570 --> 00:29:40,920 તે જવા માટે કહેતા છે નીચેના સરનામું - 554 00:29:40,920 --> 00:29:44,670 ટી શરૂઆત છે ગમે છે, કે જે જે શરૂઆતમાં ટી વત્તા i, 555 00:29:44,670 --> 00:29:45,730 મહાન છે, કે જે 0 હોય છે. 556 00:29:45,730 --> 00:29:49,280 કે ટી ​​શરૂઆત અર્થ થાય છે, કારણ કે વત્તા 1, વત્તા 2, વત્તા 3, અને તેથી આગળ. 557 00:29:49,280 --> 00:29:51,030 ઓ સાથે અને તે જ સોદો. 558 00:29:51,030 --> 00:29:52,750 >> આ માટે તેથી વાકયરચનામાં ખાંડ. 559 00:29:52,750 --> 00:29:55,900 પરંતુ સમજણ શું ખરેખર ચાલુ છે હૂડ નીચે, હું એવી દલીલ કરે હોત 560 00:29:55,900 --> 00:29:57,410 પોતે અને ખરેખર ઉપયોગી છે. 561 00:29:57,410 --> 00:30:00,620 તે ત્યાં નથી હવે એનો અર્થ એ થાય છે, કારણ કે વધુ જાદુ પર જવા 562 00:30:00,620 --> 00:30:01,620 હૂડ નીચે. 563 00:30:01,620 --> 00:30:03,920 ઘણી વધારે હોઈ જવા નથી અમે તમારા માટે છાલ બેક કરી શકો છો કે જે સ્તરો. 564 00:30:03,920 --> 00:30:04,810 આ કેચ છે. 565 00:30:04,810 --> 00:30:06,410 અને આ પ્રોગ્રામિંગ છે. 566 00:30:06,410 --> 00:30:08,002 પ્રશ્ન ખરેખર સારી. 567 00:30:08,002 --> 00:30:11,570 >> બધા હક, તેથી આ કે બગડેલ હતો હું અગાઉ ઉલ્લેખ કરવામાં આવ્યો હતો કાર્યક્રમ. 568 00:30:11,570 --> 00:30:12,650 સ્વેપ અપૂર્ણ હતો. 569 00:30:12,650 --> 00:30:14,070 કામ લાગે શક્યા નહિં. 570 00:30:14,070 --> 00:30:17,390 ફક્ત દૂધ સાથે ગમે છે અને તે યાદ નારંગી રસ - હું શરૂ 571 00:30:17,390 --> 00:30:18,660 આજના પ્રદર્શન પીવાના. 572 00:30:18,660 --> 00:30:22,220 તેથી માત્ર નારંગી રસ અને સાથે દૂધ, અમે ઉપયોગ હોય હતી 573 00:30:22,220 --> 00:30:26,200 કામચલાઉ ચલ, tmp, એક પકડી કામચલાઉ કે જેથી અમે પછી કરી શકે છે 574 00:30:26,200 --> 00:30:28,820 બોલ્ડ અપડેટ પછી તેની કિંમત બદલવા અને. 575 00:30:28,820 --> 00:30:32,870 >> પરંતુ આ કાર્ય, અમે જણાવ્યું હતું કે,, અથવા આ આ કાર્ય હતું જેમાં કાર્યક્રમ 576 00:30:32,870 --> 00:30:35,670 લખેલા ખોટું અને અપૂર્ણ હતો, શા માટે? 577 00:30:35,670 --> 00:30:38,870 578 00:30:38,870 --> 00:30:39,090 હા? 579 00:30:39,090 --> 00:30:42,471 >> પ્રેક્ષક: [અશ્રાવ્ય]. 580 00:30:42,471 --> 00:30:44,940 >> સ્પીકર: 1 ચોક્કસપણે, જ્યારે તમે સ્વેપ કૉલ - 581 00:30:44,940 --> 00:30:47,820 અથવા વધુ સામાન્ય રીતે, જ્યારે તમે સૌથી વધુ કોઈપણ વિધેય કોલ - 582 00:30:47,820 --> 00:30:51,210 કે કામ કરવા માટે દલીલો હોય તો આદિમ, તેથી વાત કરવા માટે, ints અને અક્ષરો 583 00:30:51,210 --> 00:30:56,740 અને ડબલ્સમાં અને ફ્લોટ્સ, વસ્તુઓ વિના તારાઓ, તમે એક નકલ માં પસાર થાય છે 584 00:30:56,740 --> 00:30:57,540 આ દલીલ. 585 00:30:57,540 --> 00:31:01,580 X 1 હતી અને વાય 2 હતુ તેથી, જો ચાલે છે 1 હોઈ અને બોલ્ડ 2 હોઈ ચાલે છે. 586 00:31:01,580 --> 00:31:05,250 પરંતુ તેઓ અલગ અલગ હિસ્સામાં હોઈ જઈ રહ્યાં છો ઓફ બિટ્સ, વિવિધ હિસ્સામાં ઓફ 587 00:31:05,250 --> 00:31:07,540 સ્ટોર કરવા માટે થાય છે કે જે મેમરી સમાન કિંમતો. 588 00:31:07,540 --> 00:31:12,160 >> તેથી આ કોડ સંપૂર્ણ સુપર છે A અને B અદલાબદલી મુ. 589 00:31:12,160 --> 00:31:13,850 તે અદલાબદલી કોઈ સારા છે - 590 00:31:13,850 --> 00:31:15,290 - છેલ્લા અઠવાડિયે માતાનો ઉદાહરણમાં 591 00:31:15,290 --> 00:31:16,390 એક્સ અને વાય. 592 00:31:16,390 --> 00:31:18,780 ફરીથી, તેઓ કરશો કારણ કે ખોટી અવકાશ છે. 593 00:31:18,780 --> 00:31:21,310 >> હવે, આપણે આ નિયત વિશે કેવી રીતે જવું છે? 594 00:31:21,310 --> 00:31:23,140 અમે કાર્ય કરી હતી થોડી uglier જુઓ. 595 00:31:23,140 --> 00:31:25,250 પરંતુ ફરીથી, ધ્યાનમાં શું આ માત્ર થાય છે. 596 00:31:25,250 --> 00:31:27,840 597 00:31:27,840 --> 00:31:31,500 >> અને ખરેખર, સુસંગતતા માટે, તે મને કરવા દો તે સમાન છે જેથી એક વસ્તુ બદલી 598 00:31:31,500 --> 00:31:33,200 આપણે શું કર્યું. 599 00:31:33,200 --> 00:31:35,690 હું છેલ્લા અઠવાડિયે ઉલ્લેખ કર્યો છે કે, તે નથી તે જાય છે બાબત છે. 600 00:31:35,690 --> 00:31:38,120 હકીકતમાં, ખાસ કરીને જો તમે મૂકવામાં આવશે જો ચલ નામની આગળ તારો. 601 00:31:38,120 --> 00:31:40,750 પરંતુ હું તેને થોડા સરળ હશે લાગે આ માટે આગામી * વિચારણા 602 00:31:40,750 --> 00:31:44,910 તે અર્થ માહિતી પ્રકાર નિર્દેશક છે આ કિસ્સામાં એક ઈન્ છે. 603 00:31:44,910 --> 00:31:46,270 >> હું અહીં તેથી શું કરી રહ્યો છું? 604 00:31:46,270 --> 00:31:49,590 મને એક ઈન્ આપી નથી કહી રહ્યો છું અન્ય ઈન્ દ્વારા અનુસરવામાં, 605 00:31:49,590 --> 00:31:50,810 તેમને એ અને બી ફોન. 606 00:31:50,810 --> 00:31:52,460 મને એક ઈન્ ની સરનામા આપો. 607 00:31:52,460 --> 00:31:53,960 મને અન્ય ઈન્ ની સરનામા આપો. 608 00:31:53,960 --> 00:31:56,330 તે a અને b સંબોધે કૉલ કરો. 609 00:31:56,330 --> 00:32:00,860 >> અને પછી * સંકેત નીચે મદદથી નીચે, તે દરેક સરનામાંને પર જાઓ 610 00:32:00,860 --> 00:32:05,290 તરીકે ક્યાં તો વિચાર કરવા માટે જરૂરી અથવા તેની કિંમત સુયોજિત કરો. 611 00:32:05,290 --> 00:32:07,400 પરંતુ અહીં એક અપવાદ છે. 612 00:32:07,400 --> 00:32:11,130 શા માટે હું tmp આગળ * નથી? 613 00:32:11,130 --> 00:32:15,070 હું શા માટે, ઉદાહરણ માટે આવું નથી? 614 00:32:15,070 --> 00:32:19,370 હું માત્ર બધા જવા જોઈએ એવું લાગે છે બહાર અને સમગ્ર બાબત યોગ્ય છે. 615 00:32:19,370 --> 00:32:19,752 યાહ? 616 00:32:19,752 --> 00:32:21,002 >> પ્રેક્ષક: [અશ્રાવ્ય]. 617 00:32:21,002 --> 00:32:23,280 618 00:32:23,280 --> 00:32:25,480 >> સ્પીકર 1: હું જાહેર કરી નથી શબ્દમાળા તરીકે tmp. 619 00:32:25,480 --> 00:32:28,830 620 00:32:28,830 --> 00:32:34,950 તેથી આ પણ, આ કિસ્સામાં, જાહેર કરશે એક tmp એક ઈન્ ની સરનામા હોય છે. 621 00:32:34,950 --> 00:32:37,380 પરંતુ, હું માંગો તદ્દન શું નથી કારણો એક દંપતિ માટે. 622 00:32:37,380 --> 00:32:38,616 >> પ્રેક્ષક: તમે તેમને સ્વેપ કરવા નહિં માંગો. 623 00:32:38,616 --> 00:32:41,800 >> સ્પીકર 1: ચોક્કસ, હું સ્વેપ કરવા નહિં માંગો tmp સાથે કંઈ. tmp માત્ર છે 624 00:32:41,800 --> 00:32:42,790 સપ્તાહ એક સામગ્રી. 625 00:32:42,790 --> 00:32:45,150 હું માંગો છો બધા ચલ છે અમુક નંબર સ્ટોર કરવા માટે. 626 00:32:45,150 --> 00:32:47,330 હું પણ સરનામાં વિશે કાળજી નથી આ ક્ષણે. 627 00:32:47,330 --> 00:32:50,530 >> હું માત્ર 32 બિટ્સ જરૂર અથવા તેથી ઈન્ સંગ્રહવા માટે. 628 00:32:50,530 --> 00:32:56,690 અને હું તે 32 બીટ માં મૂકેલ ગમે તેથી વાત કરવા માટે, એક નથી, પરંતુ 629 00:32:56,690 --> 00:33:01,260 માત્ર વધારે ચોક્કસ કરી શકાય કરવા માટે, અંતે શું છે. 630 00:33:01,260 --> 00:33:06,420 એક સરનામું છે, તો * એક અર્થ થાય છે, કારણ કે ત્યાં જાઓ અને કિંમત 1 વિચાર. 631 00:33:06,420 --> 00:33:10,560 હમણાં પૂરતું, છેલ્લા અઠવાડિયે માતાનો ઉદાહરણમાં અથવા B ની કિસ્સામાં, 2 ની કિંમત મળે છે. 632 00:33:10,560 --> 00:33:11,750 >> તેથી શું ખરેખર ચાલુ છે? 633 00:33:11,750 --> 00:33:15,070 મને ચાલશે કે અહીં એક ચિત્ર ડ્રો દો માત્ર આજે ભાગ સિવાય પીંજવું. 634 00:33:15,070 --> 00:33:18,580 પરંતુ આ દેખાવાનું ચાલુ રહેશે અમુક સમય માટે શાંત. 635 00:33:18,580 --> 00:33:22,430 >> આ, હું દાવો, શું તમારા કમ્પ્યુટરની છે મેમરી તમે ચલાવો ત્યારે જેવો દેખાય છે 636 00:33:22,430 --> 00:33:24,060 કાર્યક્રમ, કોઈ પણ કાર્યક્રમ. 637 00:33:24,060 --> 00:33:28,340 તમે ખૂબ જ ટોચ પર એક કાર્યક્રમ ચલાવી રહ્યા હોય ત્યારે તમારા કમ્પ્યુટરની RAM ના - તેથી લાગે છે 638 00:33:28,340 --> 00:33:33,530 તમારી તરીકે આ લંબચોરસ, સાચી, કમ્પ્યુટરની રેમ અથવા મેમરી, બધા 101 639 00:33:33,530 --> 00:33:36,920 તે અબજ બાઇટ્સ, બધા બે અબજ બાઇટ્સ, તે બધા બે ગીગાબાઇટ્સ, 640 00:33:36,920 --> 00:33:39,910 તમારી પાસે જથ્થા છે ગમે, માતાનો તેને એક લંબચોરસ તરીકે ડ્રો દો. 641 00:33:39,910 --> 00:33:43,260 તમે કાર્યક્રમ ચલાવી રહ્યા હોય ત્યારે અને હું એવો દાવો માઇક્રોસોફ્ટ વર્ડ અથવા Chrome જેવી 642 00:33:43,260 --> 00:33:49,220 જેમ કે કંઈપણ કે બિટ્સ માઈક્રોસોફ્ટ કે ગૂગલ લખ્યું હતું - 643 00:33:49,220 --> 00:33:50,910 તે કાર્યક્રમોની કિસ્સાઓમાં - 644 00:33:50,910 --> 00:33:54,490 તમારા કમ્પ્યુટરની મેમરીમાં લોડ થાય છે તેઓ વધુ ચલાવવામાં કરી શકાય છે 645 00:33:54,490 --> 00:33:57,520 ઝડપથી અને મેળવાય એ CPU માં, જે કોમ્પ્યુટર ના વિશેષજ્ઞ છે. 646 00:33:57,520 --> 00:34:00,940 >> અને સ્કૉટલન્ડના તેઓ ખૂબ જ ઓછા સંગ્રહિત કરી રહ્યાં છો તમારા કાર્યક્રમ ટોચ છે, તેથી વાત કરવા માટે. 647 00:34:00,940 --> 00:34:03,300 અન્ય શબ્દોમાં, તો આ એક ચંકને છે મેમરી, તમે ડબલ પર ક્લિક કરો ત્યારે 648 00:34:03,300 --> 00:34:05,740 માઈક્રોસોફ્ટ વર્ડ છે, બીટ્સ આવે હાર્ડ ડ્રાઈવ પર. 649 00:34:05,740 --> 00:34:06,680 તેઓ RAM માં લોડ મળે છે. 650 00:34:06,680 --> 00:34:10,330 અને અમે ખૂબ જ ટોચ પર તેમને ધક્કો પડશે કલ્પનાત્મક આ લંબચોરસ. 651 00:34:10,330 --> 00:34:13,010 >> ઠીક છે, તમારી મેમરી બાકીના છે અલગ વસ્તુઓ માટે વપરાય છે. 652 00:34:13,010 --> 00:34:16,460 ખૂબ જ ટોચ પર તમે પ્રારંભ જુઓ માહિતી અને ડેટા uninitialize. 653 00:34:16,460 --> 00:34:20,500 આ સાથે, સૌથી ભાગ માટે, તો છે સ્થિરાંકો અથવા વૈશ્વિક ચલો 654 00:34:20,500 --> 00:34:21,340 કે કિંમતો છે. 655 00:34:21,340 --> 00:34:22,980 તે બીજા સમય પર વધુ. 656 00:34:22,980 --> 00:34:25,150 >> પછી તમે જે ઢગલો છે, અમે પાછા આવો પડશે. 657 00:34:25,150 --> 00:34:28,420 પરંતુ તળિયે તે ભાગ છે ખાસ કરીને હમણાં પ્રસ્તુત. 658 00:34:28,420 --> 00:34:30,210 તે કહેવાતા સ્ટેક છે. 659 00:34:30,210 --> 00:34:33,850 તેથી માત્ર અહીં પર સૌથી વધુ કોઈપણ ડી હોલ માગો કેમ્પસ, તમે તે ટ્રેની છે કે 660 00:34:33,850 --> 00:34:37,210 માત્ર જે પર દરેક અન્ય ટોચ પર સ્ટેક તમે ખોરાક અને whatnot મૂકી શકો છો. 661 00:34:37,210 --> 00:34:40,139 કમ્પ્યુટર સિસ્ટમમાં સ્ટેક ખૂબ સમાન છે. 662 00:34:40,139 --> 00:34:42,679 અમે ઉપયોગ તરીકે, ટ્રે, જ્યારે સિવાય ડાઇનિંગ હોલ, અલબત્ત, અર્થ થાય છે 663 00:34:42,679 --> 00:34:45,710 વસ્તુઓ ટ્રેની ધરવા અથવા ફ્રેમ - 664 00:34:45,710 --> 00:34:49,469 અમે તેમને કૉલ કરશો તરીકે - કમ્પ્યુટર માં મેમરી પકડી કરવા માટે વપરાય છે 665 00:34:49,469 --> 00:34:51,610 ચલો અને કિંમતો. 666 00:34:51,610 --> 00:34:53,929 >> તેથી શું ખરેખર પર જાય છે હૂડ નીચે? 667 00:34:53,929 --> 00:34:55,820 ઠીક છે, મને ઉપર વિમાનની મુસાફરી દો અહીં સ્ક્રીન પર. 668 00:34:55,820 --> 00:34:58,370 અને ચાલો માત્ર પર ધ્યાન કેન્દ્રિત એક ક્ષણ માટે નીચે ભાગ છે. 669 00:34:58,370 --> 00:35:02,770 આ મારા તળિયે ભાગ છે કોમ્પ્યુટરની મેમરી તે બહાર વળે છે જ્યારે હું 670 00:35:02,770 --> 00:35:05,350 કાર્ય મુખ્ય કૉલ - છે, કે જે પ્રમાણિકપણે, શું થાય 671 00:35:05,350 --> 00:35:06,950 આપમેળે મારા માટે - 672 00:35:06,950 --> 00:35:10,510 હું અંતે મેમરી એક ચંકને વિચાર મારી RAM ની નીચે તેથી વાત કરવા માટે. 673 00:35:10,510 --> 00:35:13,390 મુખ્ય છે જ્યાં અને આ છે સ્થાનિક ચલો જાઓ. 674 00:35:13,390 --> 00:35:16,770 જ્યાં argc અને argv કદાચ તે છે જાઓ, અને કોઇપણ ચલો હું 675 00:35:16,770 --> 00:35:18,170 મુખ્ય અંદર જાહેર. 676 00:35:18,170 --> 00:35:20,260 તેઓ તળિયે અપ અંત મારા કમ્પ્યુટરને માતાનો RAM ના. 677 00:35:20,260 --> 00:35:25,040 >> હવે તે મુખ્ય કોલ્સ એક કાર્ય ધારવું સ્વેપ જેમ તે જેમ છેલ્લા સપ્તાહમાં હતી? 678 00:35:25,040 --> 00:35:30,620 વેલ, અમે મહત્ત્વની એક, એક નવી ટ્રે મૂકી મેમરી મારા ચંકને પર નવી ફ્રેમ,. 679 00:35:30,620 --> 00:35:34,160 અને હું આ તરીકે વર્ણન કરવા જઇ રહ્યો છું સ્વેપ કાર્ય સાથે સંકળાયેલા છે. 680 00:35:34,160 --> 00:35:35,770 >> હવે સ્વેપ અંદર શું છે? 681 00:35:35,770 --> 00:35:39,240 ઠીક છે, છેલ્લા અઠવાડિયે માતાનો કાર્યક્રમ પર આધારિત છે, અને અમે હમણાં જ એક ટૂંકસાર જોયું એક, 682 00:35:39,240 --> 00:35:46,590 સ્વેપ ચોકઠામાં ની અંદર, અથવા સ્વેપ ના ટ્રે, શું ચલો છે? 683 00:35:46,590 --> 00:35:47,970 વેલ, એ અને બી. 684 00:35:47,970 --> 00:35:51,850 તે, તેના સ્થાનિક દલીલો હતા કારણ કે વત્તા ત્રીજી tmp. 685 00:35:51,850 --> 00:35:54,470 તેથી ખરેખર, હું આ ડ્રો કરી શકે છે થોડી વધુ સ્વચ્છ. 686 00:35:54,470 --> 00:35:56,680 મને આગળ જાઓ અને લેબલ પૂર્વવત્ દો. 687 00:35:56,680 --> 00:35:58,520 અને તમે શું ખબર છે કે મને દાવો દો? 688 00:35:58,520 --> 00:36:00,560 >> એક કદાચ અહીં અંત ચાલે છે. 689 00:36:00,560 --> 00:36:02,160 બી અહીં અંત ચાલે છે. 690 00:36:02,160 --> 00:36:03,810 અને tmp અહીં અંત ચાલે છે. 691 00:36:03,810 --> 00:36:05,160 હવે, કદાચ ક્રમ થોડી અલગ છે. 692 00:36:05,160 --> 00:36:06,840 પરંતુ કલ્પનાત્મક આ વિચાર છે. 693 00:36:06,840 --> 00:36:11,490 >> અને માત્ર એકંદરે, આ શું છે અમે સ્વેપ ચોકઠામાં કૉલ, અથવા પડશે 694 00:36:11,490 --> 00:36:12,136 ડાઇનિંગ હોલ ટ્રે. 695 00:36:12,136 --> 00:36:13,150 મુખ્ય સાથે અને તે જ સોદો. 696 00:36:13,150 --> 00:36:14,040 પરંતુ હું માનું છું કે redraw નહીં. 697 00:36:14,040 --> 00:36:17,810 પરંતુ કે જ્યાં argc અને argv અને કોઈપણ એક્સ અને વાય જેવા તેના સ્થાનિક વેરિયેબલ્સ 698 00:36:17,810 --> 00:36:18,940 તેમજ હોઇ શકે છે. 699 00:36:18,940 --> 00:36:22,170 >> તેથી હવે ખરેખર શું થઈ રહ્યું છે તે ધ્યાનમાં તમે સ્વેપ કૉલ ત્યારે. 700 00:36:22,170 --> 00:36:26,370 જેમ તમે સ્વેપ કૉલ કરો ત્યારે, ચલાવ્યા કોડ આ, તમે માં માં પસાર કરી રહ્યાં છે 701 00:36:26,370 --> 00:36:30,670 બગડેલ આવૃત્તિ, A અને B તરીકે એક્સ અને વાય નકલો. 702 00:36:30,670 --> 00:36:34,300 હવે હું આ ડ્રો કરવા તેથી જો સ્ક્રીન પર - 703 00:36:34,300 --> 00:36:36,700 આ સારી વિચાર મળી - 704 00:36:36,700 --> 00:36:40,850 હું મારી જાતે કહી હતી વાર્તા જેથી આ બગડેલ આવૃત્તિ હતી ત્યારે અમે 705 00:36:40,850 --> 00:36:46,130 શાબ્દિક A અને B માં પસાર સ્વેપ કૉલ પૂર્ણાંકો તરીકે, શું ખરેખર શું થઈ રહ્યું છે? 706 00:36:46,130 --> 00:36:48,250 >> ઠીક છે, શું ખરેખર શું ચાલી રહ્યું છે આ છે. 707 00:36:48,250 --> 00:36:52,850 મને આગળ જાઓ અને માત્ર પૂર્વવત્ દો અહીં કેટલીક જગ્યા સાફ કરવા. 708 00:36:52,850 --> 00:36:54,720 તેથી આ મારા કમ્પ્યુટરની મેમરી છે. 709 00:36:54,720 --> 00:36:57,510 >> હું તેથી જો, ઉદાહરણ તરીકે - 710 00:36:57,510 --> 00:36:58,910 વાસ્તવમાં ચાલો તે આ રીતે કરવું - 711 00:36:58,910 --> 00:37:02,690 હું આ સ્ટોર, X દાવો છે કે, જો માત્ર છેલ્લા સપ્તાહમાં જેવા કિંમત 1. 712 00:37:02,690 --> 00:37:05,930 અને આ કિંમત સ્ટોર, વાય છે 2 માત્ર છેલ્લા સપ્તાહમાં ગમે છે. 713 00:37:05,930 --> 00:37:11,370 અને આ છે, હું સ્વેપ કૉલ, જ્યારે મુખ્ય છે ત્યાં એક અને મારી ઍક્સેસ આપવા 714 00:37:11,370 --> 00:37:15,150 બોલ્ડ અને tmp, હું એવો દાવો કરવા જઇ રહ્યો છું આ છે અને આ માટે 1 છે. 715 00:37:15,150 --> 00:37:16,080 >> આ બોલ્ડ છે. 716 00:37:16,080 --> 00:37:17,010 આ 2 છે. 717 00:37:17,010 --> 00:37:18,370 આ tmp કહેવામાં આવે છે. 718 00:37:18,370 --> 00:37:23,360 >> અને શરૂઆતમાં, તે કેટલાક કચરો કિંમત છે હું ખરેખર તે એક સંગ્રહ, ત્યાં સુધી 719 00:37:23,360 --> 00:37:24,450 જે 1. 720 00:37:24,450 --> 00:37:28,320 પછી હું આગળ જાઓ અને બદલી એક શું હોઈ? 721 00:37:28,320 --> 00:37:29,720 'બી' ના મૂલ્ય. 722 00:37:29,720 --> 00:37:31,980 >> અને તેથી હવે હું અહીં બે હોય છે. 723 00:37:31,980 --> 00:37:34,050 અને પછી અમે બો tmp બોલ જણાવ્યું હતું કે,. 724 00:37:34,050 --> 00:37:37,670 ફરીથી, સેનીટી તપાસો, જેમ ત્રીજા અહીં કોડ લાઇન ઓફ માત્ર આ છે 725 00:37:37,670 --> 00:37:39,440 એક, બી tmp નોંધાયો નહીં. 726 00:37:39,440 --> 00:37:41,730 >> અને તેથી છેલ્લે, હું શું કરું? 727 00:37:41,730 --> 00:37:46,800 હું આગળ જાઓ અને બોલ્ડ હોવું બદલી ગમે tmp ની કિંમત 1 છે, કે જે છે. 728 00:37:46,800 --> 00:37:48,390 હું ફરીથી tmp સ્પર્શ નથી. 729 00:37:48,390 --> 00:37:54,100 >> પરંતુ હવે, સમસ્યા તરત swap તરીકે છે વળતર, તે સોંપવામાં નથી કારણ કે 730 00:37:54,100 --> 00:37:57,540 અમુક કિંમત પાછળ આ બોલ પર કોઈ વળતર છે નિવેદન તે નિશ્ચિતપણે. 731 00:37:57,540 --> 00:37:59,080 ખરેખર શું ચાલી રહ્યું છે? 732 00:37:59,080 --> 00:38:03,480 ઠીક છે, આવશ્યકપણે આ બધા મેમરી - 733 00:38:03,480 --> 00:38:07,410 બરાબર, દેખીતી રીતે આ ભૂંસવા માટેનું રબર ગમતો એક સમયે માત્ર એક આંગળી - 734 00:38:07,410 --> 00:38:08,180 માત્ર અદૃશ્ય થઈ જાય છે. 735 00:38:08,180 --> 00:38:10,070 >> હવે વાસ્તવિકતા તે નથી ગમે ત્યાં જવાનું. 736 00:38:10,070 --> 00:38:11,810 પરંતુ તમે તે વિચાર કરી શકો છો હવે પ્રશ્ન ગુણ છે. 737 00:38:11,810 --> 00:38:14,040 તે લાંબા સમય સુધી કારણ કે વાસ્તવમાં ઉપયોગ. 738 00:38:14,040 --> 00:38:17,470 અને કંઈ તે કિંમતો સાથે કરવામાં આવે છે. 739 00:38:17,470 --> 00:38:21,920 >> તેથી ની લીલા આવૃત્તિ કિસ્સામાં આ કોડ છે, તેના બદલે શું જાય છે 740 00:38:21,920 --> 00:38:24,640 સ્વેપ માં પસાર? 741 00:38:24,640 --> 00:38:25,770 તેથી સંબોધે છે. 742 00:38:25,770 --> 00:38:28,520 તેથી X ઓફ સરનામું અને વાય ની સરનામું. 743 00:38:28,520 --> 00:38:35,790 અમે આમ તો આ વાર્તા એક છેલ્લા ફરી કહેવું સમય છે, અને હું ખરેખર, ફરી સ્વેપ ડ્રો 744 00:38:35,790 --> 00:38:44,620 પરંતુ પોઇન્ટર સાથે, આ એક છે બોલ્ડ છે, અને આ છે tmp, શું છે 745 00:38:44,620 --> 00:38:49,080 વાસ્તવમાં આ લીલા માં સંગ્રહિત હું પસાર છું જ્યાં મારો કોડ આવૃત્તિ 746 00:38:49,080 --> 00:38:52,110 સરનામાંઓ માં? 747 00:38:52,110 --> 00:38:53,780 >> તે X માટે નિર્દેશક હોઈ ચાલે છે. 748 00:38:53,780 --> 00:38:54,890 તેથી હું એક તીર ડ્રો કરી શકે છે. 749 00:38:54,890 --> 00:38:57,310 પરંતુ આ જ મનસ્વી ઉપયોગ કરવા દેવા પહેલાં તરીકે ઉદાહરણ છે. 750 00:38:57,310 --> 00:39:01,220 ચાલો આ છે કે જે કહે છે Ox123 કંઈક. 751 00:39:01,220 --> 00:39:04,970 અને આ Ox127 હોઈ ચાલે છે કારણ કે તે છે, કારણ કે તે ચાર બાઇટ્સ દૂર છે એક 752 00:39:04,970 --> 00:39:07,370 Int, તેથી Ox127. 753 00:39:07,370 --> 00:39:09,080 >> અને ફરી, હું કેટલાક સ્વતંત્રતા લઈ રહ્યો છું નંબરો સાથે. 754 00:39:09,080 --> 00:39:11,430 તેઓ તેના કરતા ઘણી નાની કરશો વાસ્તવમાં અલગ ક્રમમાં હોઈ શકે અને. 755 00:39:11,430 --> 00:39:14,350 પરંતુ તે કેવી રીતે ચિત્ર છે હવે અલગ છે. 756 00:39:14,350 --> 00:39:19,060 >> પરંતુ હું આ લીલા કોડ ઉપયોગ કરો છો ત્યારે અને હું ઈન્ tmp * એક વિચાર નથી. 757 00:39:19,060 --> 00:39:25,010 , નીચેની કરવું લેવા * અર્થ એક માં તે સરનામું અને તે પર જાઓ 758 00:39:25,010 --> 00:39:26,190 જે 1. 759 00:39:26,190 --> 00:39:28,480 અને હું પછી tmp મૂકવામાં શું છે. 760 00:39:28,480 --> 00:39:32,480 વચ્ચે, કોડ આગળના વાક્ય અહીં, * એક બોલ્ડ નહીં, કે શું અર્થ છે? 761 00:39:32,480 --> 00:39:36,910 >> વેલ, * એક છે, તેથી અહીં જાઓ નહીં * બી, જે ત્યાં જવા થાય છે. 762 00:39:36,910 --> 00:39:39,310 અને ત્યાં માટે કિંમત મૂકવામાં અર્થ એ થાય કે. 763 00:39:39,310 --> 00:39:43,670 છેલ્લે, કોડ છેલ્લા વાક્ય ખાલી * બો tmp બોલ જણાવ્યું હતું કે,. 764 00:39:43,670 --> 00:39:48,900 >> તેથી બો કહે ત્યાં જાઓ અને સાથે તે ફરીથી લખી પણ, આ કિસ્સામાં, ચાલુ છે જે tmp 765 00:39:48,900 --> 00:39:51,520 ફરીથી, 1 છે. 766 00:39:51,520 --> 00:39:54,920 અને આ છે કેમ લીલા આવૃત્તિ અમારા કોડ કામ કરે છે, લાલ, જ્યારે 767 00:39:54,920 --> 00:39:56,010 આવૃત્તિ હતી ક્યારેય. 768 00:39:56,010 --> 00:39:59,020 કેવી રીતે કરવા માટે નીચે તે બધા માત્ર ઉકળે મેમરી વ્યવસ્થાપિત અને તે જ્યાં ચોક્કો છે 769 00:39:59,020 --> 00:40:02,580 વાસ્તવમાં તમારા મૂકવામાં કમ્પ્યુટરની RAM. 770 00:40:02,580 --> 00:40:07,270 અને હવે, કે વસ્તુઓ એક સ્ટેક માટે ઉપયોગમાં લેવામાં આવે છે. 771 00:40:07,270 --> 00:40:09,225 >> લેઆઉટ પર પ્રશ્નો? 772 00:40:09,225 --> 00:40:10,380 પોઇન્ટર પર? 773 00:40:10,380 --> 00:40:11,630 અથવા સ્વેપ પર? 774 00:40:11,630 --> 00:40:13,740 775 00:40:13,740 --> 00:40:17,043 >> બધા હક, જેથી malloc, યાદ, આ કંઈક હતી. 776 00:40:17,043 --> 00:40:18,260 આ એક સુપર સરળ ઉદાહરણ હતું. 777 00:40:18,260 --> 00:40:20,550 અને આ એક હતું કે Binky તદ્દન યદ્યપિ, અમને પરિચય 778 00:40:20,550 --> 00:40:21,870 ઝડપથી વર્ગ ઓવરને અંતે. 779 00:40:21,870 --> 00:40:24,480 Dammit, ત્યાં અમે ફરી જાઓ. 780 00:40:24,480 --> 00:40:28,780 >> તેથી આ ઉદાહરણ હતું કે યાદ છે કે Binky યદ્યપિ, અમને પરિચય 781 00:40:28,780 --> 00:40:30,360 કંઈક ઝડપથી વર્ગ ઓવરને અંતે. 782 00:40:30,360 --> 00:40:33,640 અને અહીં અમે ખરેખર malloc ઉપયોગ બીજા સમય માટે. 783 00:40:33,640 --> 00:40:37,330 પ્રથમ વખત કારણ કે અમે તેનો ઉપયોગ પૂરતી RAM બનાવો, પૂરતી RAM ફાળવો 784 00:40:37,330 --> 00:40:38,340 શબ્દમાળા સંગ્રહવા માટે. 785 00:40:38,340 --> 00:40:40,250 >> આ સમય Binky તે સરળ રાખવામાં. 786 00:40:40,250 --> 00:40:42,465 તેથી તે માત્ર સંગ્રહવા માટે છે એક Int, દેખીતી રીતે. 787 00:40:42,465 --> 00:40:43,510 અને તે તદ્દન દંડ છે. 788 00:40:43,510 --> 00:40:46,560 તે માટે, પ્રમાણિકપણે, થોડું વિચિત્ર છે એક ઈન્ ફાળવવા માટે malloc વાપરો. 789 00:40:46,560 --> 00:40:50,650 પરંતુ નિક માતાનો ક્લેમેશન બિંદુ હતી ખરેખર માત્ર શું વાર્તા કહી 790 00:40:50,650 --> 00:40:53,830 થાય છે અથવા જ્યારે બનશે નહિં તમે મેમરી mistreat. 791 00:40:53,830 --> 00:40:56,520 >> તેથી આ કિસ્સામાં, આ પ્રોગ્રામ અમુક વસ્તુઓ હતી. 792 00:40:56,520 --> 00:41:01,580 અહીં પ્રથમ કેસ, તે જાહેર એક નિર્દેશક એક int પર X કહેવાય છે. 793 00:41:01,580 --> 00:41:04,480 તે પછી નિર્દેશક જાહેર એક ઈન્ કરવા માટે y કહેવાય છે. 794 00:41:04,480 --> 00:41:06,150 તે પછી, X શું સ્ટોર કરે છે? 795 00:41:06,150 --> 00:41:07,110 હવે બીજા કોઇએ. 796 00:41:07,110 --> 00:41:09,685 અનુસાર X સંગ્રહિત નહીં શું આ કાર્યક્રમની ત્રીજી લાઇન? 797 00:41:09,685 --> 00:41:12,380 >> પ્રેક્ષક: [અશ્રાવ્ય]. 798 00:41:12,380 --> 00:41:14,130 >> સ્પીકર 1: વેલ, બિન તદ્દન બાઇટ્સ, દીઠ કહે છે. 799 00:41:14,130 --> 00:41:16,760 હવે વધુ ચોક્કસ રહો. 800 00:41:16,760 --> 00:41:18,325 X શું સંગ્રહિત નહીં? 801 00:41:18,325 --> 00:41:21,000 802 00:41:21,000 --> 00:41:22,060 એક સરનામું, હું તે સાંભળ્યું છે. 803 00:41:22,060 --> 00:41:23,570 >> તેથી malloc શું પરત કરે છે? 804 00:41:23,570 --> 00:41:26,030 malloc behaviorally ફાળવે મેમરીની ચંકને. 805 00:41:26,030 --> 00:41:27,850 પરંતુ તે કેવી રીતે તમે તેને ઍક્સેસ આપી નથી? 806 00:41:27,850 --> 00:41:29,460 તે શું આપે? 807 00:41:29,460 --> 00:41:32,000 પ્રથમ બાઇટ ની સરનામા મેમરીનો ચંકને છે. 808 00:41:32,000 --> 00:41:33,020 >> હવે, આ સુપર સરળ છે. 809 00:41:33,020 --> 00:41:35,380 તે માત્ર એક બાઇટ છે, જે અર્થ એ થાય કે અમે પાછા મળી રહ્યાં સંબોધવા છે 810 00:41:35,380 --> 00:41:37,300 સમગ્ર વસ્તુ ના સરનામું. 811 00:41:37,300 --> 00:41:42,070 તેથી પછી x માં સ્ટોર, સરનામું છે મેમરી કે ચંકને છે. 812 00:41:42,070 --> 00:41:43,400 વચ્ચે, શું હવે આગળ શું થશે? 813 00:41:43,400 --> 00:41:45,890 તેથી, વાસ્તવમાં માતાનો આગળ જવા દો અને આ બહાર વાસ્તવિક ઝડપી ડ્રો. 814 00:41:45,890 --> 00:41:52,490 >> અમે અહીં સ્ક્રીન પર જાઓ અને તેથી જો અમે આ બહાર રમવા ઈન્ * X અને ઈન્ * વાય 815 00:41:52,490 --> 00:41:53,740 મારા માટે શું ચાલે છે? 816 00:41:53,740 --> 00:41:58,280 હું તે માત્ર કરવા જઇ રહ્યું છે કે દાવો આ કંઈક છે અને તે X ફોન, અને 817 00:41:58,280 --> 00:42:00,010 આ અને તે વાય કૉલ કરો. 818 00:42:00,010 --> 00:42:03,110 વચ્ચે, કોડ ત્રીજા વાક્ય છે એક ઈન્ માપ ફાળવવા માટે જવાનું, 819 00:42:03,110 --> 00:42:06,160 જે બને છે - હું જણાવ્યું હતું કે, માફ તો - હું એક ઈન્ અર્થ એક પહેલા 820 00:42:06,160 --> 00:42:08,280 એક લાક્ષણિક કમ્પ્યુટર પર ચાર બાઇટ્સ. 821 00:42:08,280 --> 00:42:09,720 જો CS50 સાધન સાથે ઓછામાં મુ. 822 00:42:09,720 --> 00:42:11,490 >> તેથી આ ફાળવવા માટે ચાલે છે તે જે જાણે છે? 823 00:42:11,490 --> 00:42:12,800 ક્યાંક બહાર અહીં. 824 00:42:12,800 --> 00:42:15,780 અને આ અમુક અંતે સંગ્રહાયેલ છે સરનામા બળદની, જે જાણે છે? 825 00:42:15,780 --> 00:42:18,330 પરંતુ શું પરત કરવા જઈ રહ્યું છે તે સરનામા છે. 826 00:42:18,330 --> 00:42:22,270 પરંતુ અમે pictorially આ ડ્રો પડશે કે જેમ માત્ર એક તીર. 827 00:42:22,270 --> 00:42:25,430 >> હવે આગામી વાક્ય * X 42 રન નોંધાયો નહીં. 828 00:42:25,430 --> 00:42:29,400 * X જનસાધારણ ના નિયમો શું અર્થ છે? 829 00:42:29,400 --> 00:42:30,040 જસ્ટ ત્યાં જાઓ. 830 00:42:30,040 --> 00:42:30,960 તે સરનામા પર જાઓ. 831 00:42:30,960 --> 00:42:35,900 અથવા બીજા શબ્દોમાં, તે અનુસરો તીર અને ત્યાં 42 મૂકો. 832 00:42:35,900 --> 00:42:38,140 પરંતુ પછી કંઇક ખરાબ થયું Binky માટે, બરાબર ને? 833 00:42:38,140 --> 00:42:43,950 >> તે લીટી અહીં પાંચ યાદ, * વાય નહીં 13, ખરેખર એક કમનસીબ નંબર, 834 00:42:43,950 --> 00:42:44,760 અમારા માટે શું કર્યું? 835 00:42:44,760 --> 00:42:47,320 વેલ, * વાય અર્થ ત્યાં જાઓ. 836 00:42:47,320 --> 00:42:50,460 વેલ, આ આપવામાં આવી નથી કિંમત હજુ સુધી, બરાબર ને? 837 00:42:50,460 --> 00:42:54,090 આ કોડ વાય હોવા નથી ખાવા માટે આરંભ. 838 00:42:54,090 --> 00:42:56,120 અમે X આરંભ કરવામાં આવી હતી એક સરનામું છે. 839 00:42:56,120 --> 00:42:57,640 પરંતુ વાય ઉપર જાહેર કરવામાં આવી હતી. 840 00:42:57,640 --> 00:43:00,250 પરંતુ પછી અર્ધવિરામ આ બોલ પર કોઈ કિંમત ખરેખર તે મૂકવામાં આવી હતી. 841 00:43:00,250 --> 00:43:02,330 તેથી તે આ કૉલ કરવા માટે યોગ્ય છે એક કચરો મૂલ્ય. 842 00:43:02,330 --> 00:43:03,430 કોણ ત્યાં શું જાણે? 843 00:43:03,430 --> 00:43:07,160 તેનો ઉપયોગ કરવામાં આવે છે કે જે બીટ્સ અવશેષો છે માં કોડ કેટલાક અગાઉના વાક્ય દ્વારા 844 00:43:07,160 --> 00:43:08,300 મારા કાર્યક્રમ. 845 00:43:08,300 --> 00:43:13,250 >> હું ત્યાં જવા કહે છે, તેથી જો આ જેવી છે હું આ તીર છે કે જ્યાં કોઈ વિચાર છે 846 00:43:13,250 --> 00:43:14,490 અંત જવાનું. 847 00:43:14,490 --> 00:43:17,720 જ્યારે તમે સામાન્ય રીતે કે સેગ્મેન્ટેશન ક્ષતિમાં વિચાર. 848 00:43:17,720 --> 00:43:22,430 જો તમે આકસ્મિક ખોટો સંદર્ભ નહિં, તેથી માટે વાત, કે નથી કે એક સરનામું પર જાઓ 849 00:43:22,430 --> 00:43:25,400 ખરેખર એક કાયદેસર સરનામું, ખરાબ વસ્તુઓ થાય છે. 850 00:43:25,400 --> 00:43:27,550 >> અને તે ખરેખર શું થયું છે Binky લાગે છે. 851 00:43:27,550 --> 00:43:31,060 તેથી યાદ છે કે નિક હતું કે વાર્તા અહીં કહેવાની જ વિચાર હતો કે શું તરીકે 852 00:43:31,060 --> 00:43:34,050 હું ભ્રમણા સાથે દોરેલા કર્યું ત્યાં બોર્ડ પર ખડી. 853 00:43:34,050 --> 00:43:35,960 એક્સ અને વાય જાહેર કરવામાં આવે છે. 854 00:43:35,960 --> 00:43:39,690 >> પછી અમે કદ ફાળવવામાં એક ઈન્ અને X તેને સંગ્રહિત. 855 00:43:39,690 --> 00:43:42,130 પછી અમે કર્યું આગામી લીટી * એક્સ. 856 00:43:42,130 --> 00:43:46,070 આ નિક માતાનો જાદુ જાદુઈ લાકડી હતી dereferencing છે. 857 00:43:46,070 --> 00:43:49,780 કે મેમરીમાં 42 મૂકી X દ્વારા ધ્યાન દોર્યું. 858 00:43:49,780 --> 00:43:51,600 >> પરંતુ આ છે, જ્યાં વસ્તુઓ ભયાનક કે ત્રાસજનક ખોટું થયું. 859 00:43:51,600 --> 00:43:51,820 બરાબર ને? 860 00:43:51,820 --> 00:43:53,550 અમે ખોટો સંદર્ભ વાય પ્રયાસ કર્યો હતો. 861 00:43:53,550 --> 00:43:55,620 પરંતુ વાય અધિકાર, અમુક બોગસ કિંમત હતી? 862 00:43:55,620 --> 00:43:57,720 >> નીચે ડાબી બાજુની કે તીર ખૂણામાં, નથી 863 00:43:57,720 --> 00:43:58,950 વાસ્તવમાં કંઈપણ તરફ સંકેત આપતા. 864 00:43:58,950 --> 00:44:01,520 તે શું હું કરી પ્રકારની છે બોર્ડ પર અહીં હતી. 865 00:44:01,520 --> 00:44:05,900 તેથી ખરાબ વસ્તુઓ થાય છે, સેગ્મેન્ટેશન આ કિસ્સામાં ભૂલ, અથવા Binky દોષ. 866 00:44:05,900 --> 00:44:10,800 >> પરંતુ અમે તો પછી x કરવાથી કે ઠીક તો વાય નહીં કેવી રીતે આ વાર્તા ફેરફાર કરે છે? 867 00:44:10,800 --> 00:44:15,760 ઠીક છે, હું X કરો તો કે વાય, નહીં કહીને તરીકે અસરકારક રીતે જ 868 00:44:15,760 --> 00:44:19,235 આ છે ગમે, બળદની-કંઈક , અહીં જ ચાલે છે 869 00:44:19,235 --> 00:44:20,080 બળદની-કંઈક. 870 00:44:20,080 --> 00:44:22,970 અથવા pictorially અમે એક તીર ડ્રો કરીશું. 871 00:44:22,970 --> 00:44:25,530 >> તેથી અહીં Binky સાથે બોર્ડ પર, આગળના વાક્ય સાથે 872 00:44:25,530 --> 00:44:28,350 કોડ છે, * વાય ત્યાં જવા થાય છે. 873 00:44:28,350 --> 00:44:29,400 ત્યાં ક્યાં છે? 874 00:44:29,400 --> 00:44:30,820 તે અહીં છે. 875 00:44:30,820 --> 00:44:36,050 >> અને અમે 13 હોઈ કે અપડેટ ત્યારે તે માત્ર જવું અને સમાવેશ થાય છે 876 00:44:36,050 --> 00:44:39,470 હવે અહીં 13 લેખન. 877 00:44:39,470 --> 00:44:44,130 તેથી કદાચ નથી સંપૂર્ણપણે પ્રથમ નજરમાં સરળ. 878 00:44:44,130 --> 00:44:47,740 પરંતુ રીકેપ માટે અને તે જ કલકલ વાપરવા માટે કે Binky, તેથી અહીં ઉપયોગ કરીને કરવામાં આવી હતી 879 00:44:47,740 --> 00:44:50,485 પ્રથમ બે, પાંચ પોઇન્ટર ફાળવો એક્સ અને વાય, પરંતુ pointees. 880 00:44:50,485 --> 00:44:54,750 અને pointees એક નથી સામાન્ય શબ્દ વપરાય છે. 881 00:44:54,750 --> 00:44:56,120 પરંતુ નિર્દેશક સંપૂર્ણપણે છે. 882 00:44:56,120 --> 00:44:59,200 પરંતુ તે નિર્દેશ કરવામાં આવી રહ્યું શું છે Binky માતાનો નામકરણ ખાતે. 883 00:44:59,200 --> 00:45:01,660 >> અલબત્ત આ આગામી રેખા, એક ઈન્ pointee ફાળવે. 884 00:45:01,660 --> 00:45:04,840 તેથી મેમરી એક ચંકને - હું બોલ દોર્યું તરીકે જમણી બાજુની ત્યાં બાજુ છે - અને સમૂહ 885 00:45:04,840 --> 00:45:06,470 X બરાબર તે નિર્દેશ કરવા માટે. 886 00:45:06,470 --> 00:45:11,350 આ dereferences X માં 42 સંગ્રહવા માટે તે તરફ સંકેત છે કે મેમરી. 887 00:45:11,350 --> 00:45:13,380 અને તે પછી આ કોર્સ છે, ખરાબ બાબત હતી. 888 00:45:13,380 --> 00:45:15,600 વાય પોઇન્ટ ન હતી કારણ કે હજી કંઈપણ મુ. 889 00:45:15,600 --> 00:45:16,530 આ તે સુધારે છે. 890 00:45:16,530 --> 00:45:18,240 તેથી આ હજુ પણ બગડેલ પ્રોગ્રામ છે. 891 00:45:18,240 --> 00:45:21,580 અમે મારફતે બ્લોએંગ કરી રહ્યાં છો, માત્ર કારણ કે લાઇન અને કહેતા કોડ રેખા, તેમજ, OH 892 00:45:21,580 --> 00:45:22,690 તે ત્યાં ભાંગી દો. 893 00:45:22,690 --> 00:45:23,420 કે ખરાબ વસ્તુ છે. 894 00:45:23,420 --> 00:45:26,790 અવરોધો કાર્યક્રમ માત્ર બનશે છે કે વાક્ય પર એકસાથે અડધેથી બંધ. 895 00:45:26,790 --> 00:45:30,550 તમે દૂર કરવા માટે જ હોય ​​છે પરંતુ ક્રેશ છેલ્લા બે સાથે વાક્ય અને બદલો 896 00:45:30,550 --> 00:45:32,470 તમે સોંપી ત્યાં લાઇન - 897 00:45:32,470 --> 00:45:35,310 નિર્દેશક સોંપણી વાપરીને - વાય બિંદુ ટી તરીકે X માટે નિર્દેશ કરવા માટે. 898 00:45:35,310 --> 00:45:39,280 અને પછી તમે ખોટો સંદર્ભ એક ખૂબ જ સુરક્ષિત રીતે વાય. 899 00:45:39,280 --> 00:45:41,520 >> તેથી જ્યાં અમને છોડી નથી? 900 00:45:41,520 --> 00:45:45,350 વેલ, હૂડ નીચે કે બહાર વળે જો CS50 પુસ્તકાલય, પોઇન્ટર છે 901 00:45:45,350 --> 00:45:46,320 સમગ્ર વપરાય છે. 902 00:45:46,320 --> 00:45:48,910 અને અમે ખરેખર છાલ શરૂ કરશો લાંબા પહેલાં પાછા કે સ્તર. 903 00:45:48,910 --> 00:45:51,740 પરંતુ તે પણ છે કે જે એક સમીકરણ વળે તમે કેટલાક સાથે પરિચિત હોઈ શકે છે 904 00:45:51,740 --> 00:45:54,580 ખાસ કરીને તે વધુ આરામદાયક, એક ખૂબ જ લોકપ્રિય છે કે ખરેખર છે 905 00:45:54,580 --> 00:45:56,390 વેબસાઇટ, અથવા સ્ટેક ઓવરફ્લો, આ દિવસ. 906 00:45:56,390 --> 00:45:58,720 >> પરંતુ આ ખરેખર ખૂબ જ છે ટેકનિકલ અર્થ. 907 00:45:58,720 --> 00:46:00,160 હવે અમે સ્ટેક શું છે તે જાણો. 908 00:46:00,160 --> 00:46:02,550 તે ટ્રેની એક સ્ટેક જેવી છે એક ડાઇનિંગ હોલ ઓફ આધારિત છે. 909 00:46:02,550 --> 00:46:05,140 >> અથવા અંદર તમારા કમ્પ્યુટર ની મેમરી તે ફ્રેમ તેના 910 00:46:05,140 --> 00:46:06,900 કે વિધેયો દ્વારા ઉપયોગ થાય છે. 911 00:46:06,900 --> 00:46:10,760 ઠીક છે, તે બહાર વળે કે કારણે ખૂબ સરળ અમલીકરણ 912 00:46:10,760 --> 00:46:14,970 મેમરી અને કહેવાતા પર ફ્રેમ ગંજી, તમે ખરેખર નિયંત્રણ લઈ શકે છે 913 00:46:14,970 --> 00:46:17,050 એકદમ સરળતાથી કોમ્પ્યુટર સિસ્ટમ છે. 914 00:46:17,050 --> 00:46:22,180 જો તમે સિસ્ટમ માં હેક કરી શકે છે, જો લોકો અમારા કોડ લખેલા ન હોય જેમ 915 00:46:22,180 --> 00:46:23,300 ખાસ કરીને સારી. 916 00:46:23,300 --> 00:46:26,670 >> અમને જેવા લોકોને હિસ્સામાં વાપરો તો મેમરી અથવા ઉપયોગ એરેને ઓફ - 917 00:46:26,670 --> 00:46:27,810 પણ વધુ સામાન્ય રીતે - 918 00:46:27,810 --> 00:46:31,800 પરંતુ ક્યારેક તપાસો ભૂલી અમારા ઍરેની સીમાઓ તમે કદાચ તરીકે 919 00:46:31,800 --> 00:46:38,470 જાતે ક્યારેક હોય છે, અને iterated ખૂબ દૂર ઓવરને એક એરે છેલ્લા રીતે. 920 00:46:38,470 --> 00:46:40,520 શ્રેષ્ઠ કિસ્સામાં, તમારા કાર્યક્રમ માત્ર ભાંગી શકે છે. 921 00:46:40,520 --> 00:46:42,280 સેગ્મેન્ટેશન ક્ષતિમાં, પ્રકારની મૂંઝવતી છે. 922 00:46:42,280 --> 00:46:45,480 મહાન નથી, પરંતુ તે જરૂરી નથી એક ભારે ખરાબ વસ્તુ. 923 00:46:45,480 --> 00:46:49,480 >> પરંતુ તમારા કાર્યક્રમ પ્રત્યક્ષ પર ખરેખર હોય વપરાશકર્તાઓ 'કમ્પ્યુટર, તે ચાલી રહ્યું હોય 924 00:46:49,480 --> 00:46:53,070 એક વેબસાઇટ પર જે વાસ્તવિક રેન્ડમ લોકો ઇન્ટરનેટ પર ભાડા, મથાળે સ્પર્શી છે 925 00:46:53,070 --> 00:46:56,690 લોકોને તમારી કોડ પર ખરાબ વસ્તુઓ પ્રેરિત છે કારણ કે સામાન્ય રીતે નથી એક સારી બાબત 926 00:46:56,690 --> 00:46:59,930 તે લેવા માટે તક અર્થ એ થાય કમ્પ્યુટર નિયંત્રણ. 927 00:46:59,930 --> 00:47:01,350 અને આ જોવા માટે જવાનું છે વિસ્મૃત થોડી. 928 00:47:01,350 --> 00:47:04,570 પરંતુ હું તમારી સાથે બીક કરશો વિચાર્યું અહીં આ છેલ્લા ઉદાહરણ છે. 929 00:47:04,570 --> 00:47:05,650 >> અહીં કોડ ઉદાહરણ છે. 930 00:47:05,650 --> 00:47:07,370 અને એક સારા વિકીપિડીયા છે દ્વારા લઈ જશે તે લેખ 931 00:47:07,370 --> 00:47:08,530 વધુ વિગતવાર આ. 932 00:47:08,530 --> 00:47:13,890 હું નીચે કૉલિંગ પર મુખ્ય હોય છે 1 argv માં પસાર foo. 933 00:47:13,890 --> 00:47:15,750 અને તે માત્ર જેથી તમે કરી શકો છો કે કાર્યક્રમ ચલાવો, અને પાસ 934 00:47:15,750 --> 00:47:17,080 કોઈપણ ઇનપુટ. 935 00:47:17,080 --> 00:47:20,180 >> અને પછી foo ઉપર જાહેર કરવામાં આવે છે શબ્દમાળા સ્વીકારી, અથવા વધુ 936 00:47:20,180 --> 00:47:21,700 ચોક્કસપણે, એક ચાર *. 937 00:47:21,700 --> 00:47:23,860 તે પછી અક્ષરો ઝાકઝમાળ જાહેર. 938 00:47:23,860 --> 00:47:27,130 જો તે બફર, વધુ સામાન્ય રીતે, કૉલ કરો કદ 12 છે. 939 00:47:27,130 --> 00:47:30,900 તેથી 12 અક્ષરો અંદર ફિટ થઈ શકે છે કેચ કહેવાય છે કે જે એરે છે. 940 00:47:30,900 --> 00:47:33,510 >> અને પછી તે, આ નવા કાર્ય વાપરે છે નવી પરંતુ હાર્ડ નથી જે 941 00:47:33,510 --> 00:47:34,930 , મેમરી નકલ સમજે છે. 942 00:47:34,930 --> 00:47:39,290 તે છે, કે જે પટ્ટીમાંથી મેમરી નકલ જો ચલ ભૂતકાળમાં એ, ગમે તે 943 00:47:39,290 --> 00:47:42,080 વપરાશકર્તા કેચ માં argv 1 માં ટાઇપ. 944 00:47:42,080 --> 00:47:43,090 કેટલા બાઇટ્સ? 945 00:47:43,090 --> 00:47:44,260 બાર ની શબ્દમાળા નહીં. 946 00:47:44,260 --> 00:47:48,380 >> તેથી અન્ય શબ્દોમાં, વપરાશકર્તા પ્રકારો તો H-E-l-l-O દાખલ શબ્દમાળા લંબાઈ 947 00:47:48,380 --> 00:47:49,260 હેલ્લો પાંચ છે. 948 00:47:49,260 --> 00:47:52,790 તેથી તે બાઇટ્સ પાંચ વિચાર ચાલે છે કેચ કહેવાય અરે, નકલ જે 949 00:47:52,790 --> 00:47:54,110 કદ 12 છે. 950 00:47:54,110 --> 00:47:58,710 ખૂબ લાંબા સમય સુધી પરંતુ શું વપરાશકર્તા પ્રકારો 13 અક્ષરો અથવા 14 જે શબ્દ 951 00:47:58,710 --> 00:48:01,250 અક્ષરો અથવા 100 અક્ષરો અથવા વધુ છે? 952 00:48:01,250 --> 00:48:02,660 >> જ્યાં તેઓ જવા માટે જતા હોય છે? 953 00:48:02,660 --> 00:48:06,090 ઠીક છે, કે જે ફ્રેમ, કે ટ્રે ડાઇનિંગ હોલ સ્ટેક માં, 954 00:48:06,090 --> 00:48:06,930 તેઓ ત્યાં જવા માટે જઈ રહ્યાં છો. 955 00:48:06,930 --> 00:48:10,080 અને તે માત્ર પર ફરીથી લખી શરૂ કરવા જઈ રહ્યું છે પહેલેથી જ છે કે અન્ય સામગ્રી 956 00:48:10,080 --> 00:48:12,880 કે સ્ટેક પર, વહેતું સ્ટેક, તેથી વાત કરવા માટે. 957 00:48:12,880 --> 00:48:14,780 >> તેથી pictorially, તે આ રીતે લાગે છે. 958 00:48:14,780 --> 00:48:17,970 આ માત્ર એક રંગીન આવૃત્તિ છે ચિત્ર અમે ચિત્રકામ કર્યું છે. 959 00:48:17,970 --> 00:48:20,060 તળિયે, મુખ્ય છે, કહે છે ચાલો. 960 00:48:20,060 --> 00:48:24,690 અને ટોચ પર, તમે હવે શું જોઈ રહ્યાં છો ફ્રેમ, રંગ માટે, હવે કોડેડ કરવામાં આવે છે 961 00:48:24,690 --> 00:48:26,090 foo કહેવાય કાર્ય. 962 00:48:26,090 --> 00:48:30,170 પરંતુ વિશે અહીં રસપ્રદ શું છે foo અહીં તેની ફ્રેમ છે. 963 00:48:30,170 --> 00:48:32,860 તેથી તે માત્ર હું જેમ દોરેલા છે પરંતુ પ્રકાશ વાદળી હતી. 964 00:48:32,860 --> 00:48:35,220 અને હવે આ છે કેચ કૌંસ 0 જાય છે. 965 00:48:35,220 --> 00:48:37,410 અને આ કેચ કૌંસ છે 11 અંત ચાલે છે. 966 00:48:37,410 --> 00:48:39,670 >> અન્ય શબ્દોમાં, તે થાય છે એક ચોરસ તરીકે રજૂ કરવામાં આવે છે. 967 00:48:39,670 --> 00:48:42,320 પરંતુ તમે માત્ર બાઇટ્સ plopping રાખવા નીચે - અથવા અક્ષરો છે - તેઓ અંત જઈ રહ્યાં છો 968 00:48:42,320 --> 00:48:46,070 અપ સ્થાન પર 0 બધી રીતે અપ 11 કારણ કે તે અનુક્રમિત 0 છે. 969 00:48:46,070 --> 00:48:49,170 >> પરંતુ 13 મી અક્ષર છે અંત ચાલે? 970 00:48:49,170 --> 00:48:50,310 14 જ્યાં છે? 971 00:48:50,310 --> 00:48:52,430 50 મા અક્ષર ક્યાં છે અંત ચાલે? 972 00:48:52,430 --> 00:48:54,070 >> તે નીચે ચાલુ રાખવા માટે થઈ રહ્યું છે. 973 00:48:54,070 --> 00:48:57,350 અમે દોરેલા કર્યું હોવા છતાં પણ કારણ કે સ્ટેક સાથે ચિત્ર, અપ વધતી જો 974 00:48:57,350 --> 00:48:59,920 સરનામાં, તે બહાર વળે છે, જાઓ નાના સરનામાં, નાના 975 00:48:59,920 --> 00:49:01,830 મોટા સરનામાં પર પોઇન્ટર. 976 00:49:01,830 --> 00:49:03,540 તેથી તે માત્ર અપ જવું અને ઉપર રાખે છે. 977 00:49:03,540 --> 00:49:05,660 >> તેથી જો આ વપરાશકર્તા પ્રકારો હેલ્લો, કે જે મહાન છે. 978 00:49:05,660 --> 00:49:08,650 કોઈ ભૂલ, કોઈ સમસ્યા, દરેકને સુરક્ષિત. 979 00:49:08,650 --> 00:49:11,940 પરંતુ અમે કરીશું શું વપરાશકર્તા પ્રકારો જો વિરોધી કોડ ફોન, રજૂ 980 00:49:11,940 --> 00:49:16,040 જાતિગત તરીકે, હુમલો, હુમલો, હુમલો, હુમલો, શું થઇ શકે? 981 00:49:16,040 --> 00:49:19,760 >> વેલ, જો ઇનપુટ તમામ વપરાશકર્તા કે જેણે માં ટાઇપ માત્ર કેટલાક અનુકૂળ નથી 982 00:49:19,760 --> 00:49:21,540 અક્ષરો અથવા અપમાનજનક સ્ટ્રિંગ. 983 00:49:21,540 --> 00:49:24,050 તે ખરેખર અક્ષરો ક્રમ છે કે તમે તેને કમ્પાઈલ થયેલ હોય, તો 984 00:49:24,050 --> 00:49:26,050 તે ખરેખર કોડ છે. 985 00:49:26,050 --> 00:49:29,570 કદાચ તે કોડ કે કાઢી તમામ તમારી હાર્ડ ડ્રાઈવ પર ફાઈલો અથવા સ્પામ મોકલે 986 00:49:29,570 --> 00:49:30,810 જેમ કે કંઈક. 987 00:49:30,810 --> 00:49:35,110 કી અહીં શું છે કે નોટિસ છે ખરાબ વ્યક્તિ માટે પૂરતી નસીબદાર મળી જો 988 00:49:35,110 --> 00:49:37,830 મેમરી લાલ ચંકને પર ફરીથી લખી - 989 00:49:37,830 --> 00:49:41,080 હું પણ મારા ચિત્ર પર ડ્રો ન હતી જે અહીં આ વિકીપિડીયા ચિત્ર છે - 990 00:49:41,080 --> 00:49:42,890 તેના કહેવાતા વળતર સરનામું. 991 00:49:42,890 --> 00:49:47,470 >> ત્યારે ખોરાક વળતર, સ્વેપ વળતર ત્યારે, કેવી રીતે કમ્પ્યૂટર માંથી જવા માટે ખબર નથી 992 00:49:47,470 --> 00:49:49,790 અપ અહીં અહીં નીચે છે? 993 00:49:49,790 --> 00:49:52,920 અથવા ઉપરના ટેક સેગમેન્ટમાં, કેવી રીતે તે સ્વેપ જવા ખબર નથી 994 00:49:52,920 --> 00:49:54,870 કોડ - 0 અને 1 ના કે સ્વેપ કંપોઝ - 995 00:49:54,870 --> 00:49:56,020 પાછા મુખ્ય માટે? 996 00:49:56,020 --> 00:50:00,450 એક કહેવાતા વળતર સરનામા છે તે જ સ્ટેક ફ્રેમ પર સંગ્રહાય 997 00:50:00,450 --> 00:50:02,140 એ જ કાફે ટ્રે. 998 00:50:02,140 --> 00:50:06,080 >> ખરાબ વ્યક્તિ માટે પૂરતી હોંશિયાર છે તેથી જો હુમલો કોડ મૂકી, હુમલો કોડ છે, હુમલો 999 00:50:06,080 --> 00:50:07,960 કોડ છે, અને પૂરતી નસીબદાર વિચાર - 1000 00:50:07,960 --> 00:50:11,630 માટે - ઘણી વખત ટ્રાયલ અને ભૂલ દ્વારા , કે લાલ વળતર સરનામા પર ફરીથી લખી 1001 00:50:11,630 --> 00:50:14,360 સરનામું અને નોટિસ ખૂબ જ ટોચ. 1002 00:50:14,360 --> 00:50:16,830 0835C080 નોટિસ. 1003 00:50:16,830 --> 00:50:20,650 તે માટે પાછળની અપ ટોચ લખેલા છે કારણો આપણે કદાચ ફોટાઓની ફરી શકશો. 1004 00:50:20,650 --> 00:50:22,050 આ સૂચવે છે કે નંબર છે. 1005 00:50:22,050 --> 00:50:25,790 >> ખરાબ વ્યક્તિ પૂરતી નસીબદાર અથવા નહીં તેથી જો લાલ પર ફરીથી લખી કરવા માટે પૂરતી સ્માર્ટ છે 1006 00:50:25,790 --> 00:50:29,480 ના સરનામા સાથે મેમરી ઉતારી લેવાં તે અથવા તેણી અચાનક છે કે કોડ કે જે 1007 00:50:29,480 --> 00:50:34,980 તમારા કમ્પ્યુટર માં ઇન્જેક્ટ, જેની ધારી કોડ પરત કરવામાં ચાલે છે 1008 00:50:34,980 --> 00:50:38,260 જલદી foo તરીકે ચલાવવા કરવામાં આવે છે? 1009 00:50:38,260 --> 00:50:39,440 >> ખરાબ વ્યક્તિ માતાનો કોડ. 1010 00:50:39,440 --> 00:50:43,610 આ હુમલો કોડ તેથી, એએએ, ફરી, કદાચ સ્પામ મોકલવા, બધી ફાઇલોને કાઢી શકે છે 1011 00:50:43,610 --> 00:50:44,500 તમારી હાર્ડ ડ્રાઈવ પર. 1012 00:50:44,500 --> 00:50:48,740 પરંતુ શું ખરેખર સ્ટેક ઓવરફ્લો છે છે, અથવા એક બફર ઘેરી લીધા, અથવા એક 1013 00:50:48,740 --> 00:50:51,060 ઓવરફ્લો હુમલો બફર. 1014 00:50:51,060 --> 00:50:54,400 >> અને તે ઉત્સાહી, ઉત્સાહી સામાન્ય માં લખેલા કાર્યક્રમો સાથે આ દિવસ 1015 00:50:54,400 --> 00:50:58,220 C, C + +, અને કેટલાક અન્ય ભાષાઓ છે. 1016 00:50:58,220 --> 00:51:02,275 કે ડરામણી નોંધ પર, અમે કરીશું એક રમૂજ સાથે અંત. 1017 00:51:02,275 --> 00:51:03,230 >> [હાસ્ય] 1018 00:51:03,230 --> 00:51:04,550 >> બુધવાર પર તમે જુઓ. 1019 00:51:04,550 --> 00:51:07,920 1020 00:51:07,920 --> 00:51:10,310 આગામી CS50 અંતે - 1021 00:51:10,310 --> 00:51:15,920 તેથી હું આજે ડિસ્ક દીવા બધા બહાર છું પણ રાહ જુઓ, ચરબી રહિત દૂધ, અડધા ફોન 1022 00:51:15,920 --> 00:51:17,850 પુસ્તક, નારંગી રસ હું આજે drank છે. 1023 00:51:17,850 --> 00:51:20,370 1024 00:51:20,370 --> 00:51:22,780 યુએસબી કેબલ, એક સાધન. 1025 00:51:22,780 --> 00:51:24,800 >> [સંગીત વગાડવાનો]