DAVID MALAN: હેલો, અને CS50 પાછા સ્વાગત છે. તેથી આ અઠવાડિયે ચાર ઓવરને છે. પ્રથમ માત્ર એક જાહેરાત. છે કહેવાતા પાંચમી સોમવાર તેથી આ આવતા સોમવાર રહ્યું છે. આ બદલવા માટે તક છે એક અક્ષર ગ્રેડ કરવા / UNSAT SAT, અથવા અક્ષર ગ્રેડ / UNSAT બેઠા. Annoyingly, કે જે પ્રક્રિયા જરૂરી છે તમે ભરવા માટે હોય સહી, કારણ કે તે ગુલાબી ઉમેરો / ડ્રોપ સ્વરૂપોમાંથી એક બહાર. કારણ કે ટેકનિકલી, સત / UNSAT આવૃત્તિ અને અક્ષર ગ્રેડ આવૃત્તિ અલગ સૂચિ હોય છે. પરંતુ કોઈ મોટા સોદો. માત્ર મારા માટે આવે છે અથવા Rob માટે અથવા કોઈપણ સમયે લોરેન છે. તમે જે પ્રકારનું ન હોય તો અથવા અમારી ઇમેઇલ કાગળ તમે આજે જરૂર છે, અને અમે તમે લેવા માટે મદદ કરવા માટે ખાતરી હશે સોમવાર પહેલા તે કાળજી. બધા હક, જેથી આજે - ખરેખર, એક ઇકો એક બીટ છે. અમે સ્વર મને નીચે બીટ કરી શકો છો? ઠીક. આજે તેથી, અમે એક વિષય પરિચય પોઇન્ટર તરીકે ઓળખાય છે. અને હું આ એક છે કે સ્વીકાર્યું પડશે અમે સમયો કે વધુ જટિલ વિષયો આ વર્ગ માં આવરી, અથવા ખરેખર કોઈપણ સી વાપરે છે કે જે પ્રારંભિક અભ્યાસક્રમ પરંતુ, ખાસ કરીને તે માટે મારા શબ્દ લેવા તમારા મન થોડી વધુ વલણ લાગે તો આજે અને અઠવાડિયામાં આવે છે. તે તમને મેળવવાની પ્રતિનિધિ નથી આ કોઇ ખરાબ તે માત્ર અર્થ એ થાય કે જો તે ખાસ કરીને આધુનિક વિષય છે હું વચન છે કે, થોડા અઠવાડિયા તેથી, બધા ખૂબ આશ્ચર્યજનક લાગે કરશે ભૂતકાળમાં સરળ. હું હજુ પણ આ દિવસે માટે યાદ કરે છે. હું, ઇલિયટ્ટ ડાઇનિંગ હોલ બેઠક હતી મારા ટીએફ Nishat મહેતા બાજુમાં બેઠા, ઇલિયટ ઘર એક નિવાસી હતા. અને અમુક કારણોસર, આ વિષય માત્ર ક્લિક્સ. જે હું ખૂબ સંઘર્ષ કે કહે છે સમય કેટલાક રકમ માટે તે, પરંતુ હું સાથે કોઇ ટાળી મારી શ્રેષ્ઠ કરશે એક વિષય સાથે કે આખરે સંઘર્ષ તદ્દન શક્તિશાળી છે. હકીકતમાં, વિષયો એક અમે ચર્ચા કરીશું આવો સપ્તાહોમાં છે સુરક્ષા, અને તમે કેવી રીતે વાસ્તવમાં આ કરી શકો છો રીતે મશીનો શોષણ કે હેતુ ન હતી. અને તે ખાસ કરીને exploitations છે ભૂલો, ભૂલો પરિણામ છે કે અમે લોકો કેટલાક સમજ ન કરો અંતર્ગત અમલીકરણ જેની વિગતો મારફતે કાર્યક્રમો કરવામાં આવે છે. હવે આ બનાવવા માટે તમામ વધુ વપરાશકર્તા લાગે મૈત્રીપૂર્ણ, હું 10 રમવા માગતા વિચાર્યું થોડી ક્લેમેશન બીજા પૂર્વાવલોકન લાવવામાં આવી હતી Binky નામ આપવામાં આવ્યું આકૃતિ સ્ટેનફોર્ડ ખાતે અવર્સ એક મિત્ર દ્વારા જીવન, પ્રોફેસર નિક Parlante. તેથી મને તમે આ આપવા માટે પરવાનગી આપે છે અહીં Binky ઓફ સતામણી. [વિડિઓ પ્લેબેક] -અરે, Binky. અપ વેક. તે નિર્દેશક આનંદ માટે સમય છે. -શું કે છે? પોઇન્ટર વિશે જાણો! ઓહ, ગુડી. [END વિડિઓ પ્લેબેક] DAVID MALAN: સ્ટેનફોર્ડ છે કમ્પ્યુટર સાયન્સ. જેથી વધુ કે પર આવે છે. [અભિવાદન] DAVID MALAN: માફ કરશો, નિક. તેથી આપણે હતો કે છેલ્લા સમય યાદ આ ખરેખર ઉત્તેજક ક્લિફહેન્ગર જેમાં આ કાર્ય માત્ર કામ ન હતી. ઓછામાં ઓછા તર્ક, તે લાગ્યું તે કામ કરીશું જેવા. ફક્ત કિંમતો અદલાબદલી બે પૂર્ણાંકો છે. પરંતુ યાદ છે કે અમે છપાયેલ ત્યારે મુખ્ય, એક અને મૂળ કિંમતો બે, તેઓ હજુ પણ એક હતા અને બે નથી અને બે અને એક. તેથી મને ખરેખર સ્વિચ દો ઉપર સાધન છે. અને હું કંકાલ કોડ બીટ અપ લખ્યું હું દાવો જ્યાં, અહીં આગળ કે X 1 આવશે, વાય 2 હશે. હું પછી તેમના બંને છાપશે પ્રિન્ટ એફ સાથે કિંમતો. હું પછી અહીં નીચે દાવો છે કે અમે તેમને સ્વેપ કરવાનો જઈ રહ્યાં છો. હું અમને માટે અહીં ખાલી સ્પોટ બાકી માત્ર એક ક્ષણ આજે ભરો. પછી, હું દાવો કરવા જઇ રહ્યો છું કે બે ચલો સ્વૅપ કરવામાં આવી છે. પછી હું છાપવા માટે જઇ રહ્યો છું તેમને ફરીથી બહાર. અને તેથી આશા છે, હું, 2 1 જોવા જોઈએ. 2, 1. સુપર સરળ છે કે હમણાં ધ્યેય. તેથી અમે અદલાબદલી વિશે કેવી રીતે જવું નથી બે ચલો? હું અહીં પ્રસ્તાવ વેલ, જો કે આ કપ કમ્પ્યુટર મેમરી પ્રતિનિધિત્વ કરી શકે છે. આ થોડા મચ્છરની છે અન્ય થોડા મચ્છરની છે. અમે એક સ્વયંસેવક અને અપ પર આવે છે શકાયું પરિચિત નહિં, તો અમને કેટલાક પીણાં ભળવું? આ બોલ પર આવો. તમારું નામ શું છે? JESS: Jess. DAVID MALAN: Jess? , આ બોલ પર Jess આવે છે. તમે દિમાગમાં નથી, તો અમે મૂકવો પડશે તમે પર Google ગ્લાસ તેથી અમે કરી શકો છો આ અમર બનાવી દીધા. ઠીક, કાચ. વિડિઓ રેકોર્ડ કરો. અને બરાબર, અમે સારા છે અહીં Jess સાથે જાઓ. બધા અધિકાર. તમે મળવા માટે સરસ. તેથી હું માંગો છો શું તમે અહીં શું - અત્યંત ઝડપથી, તમે કરી શકે છે - માત્ર અમને નારંગી અડધા એક ગ્લાસ રેડાણ રસ અને દૂધ અડધા એક ગ્લાસ, અસરકારક રીતે નંબરો 1 રજૂ અન્ય કપમાં એક કપ અને 2 માં. આ બોલ પર કોઈ ફૂટેજ હોઈ ચાલે છે. JESS: માફ કરશો. DAVID MALAN: ના, ના. તે ઠીક છે. સરસ. બધા હક, તેથી અમે ચાર બાઇટ્સ હોય છે નારંગી રસ વર્થ. અમે તે કિંમત 1 કહેવાય પડશે. હવે દૂધ વર્થ અન્ય ચાર બાઇટ્સ. તે 2 કદર ફોન કરશે. અનુક્રમે, એક્સ અને વાય છે. બધા હક, જેથી હવે હાથ પર કાર્ય છે - બધા સામે તમે માટે, Jess, તમારા સહપાઠીઓને ઓફ - X અને જેમ વાય ના કિંમતો સ્વેપ કરવાનો છે અમે માં નારંગી રસ માંગો છો અન્ય કપ અને આ કપ દૂધ, કેવી રીતે તમે કદાચ - જો તમે ખરેખર આમ કરવા પહેલાં તે - આમ વિશે જવા? બરાબર, નિર્ણય જાગરૂક. તેથી જો તમે થોડી વધુ મેમરી જરૂર છે. તેથી માતાનો કામચલાઉ ફાળવી દો કપ, તમે તો. અને હવે એક્સ અને વાય સ્વેપ આગળ ધપાવો. ઉત્તમ. તેથી ખૂબ જ સારી રીતે થાય. , તેથી ખૂબ Jess આપનો આભાર. અહીં તમે છે. થોડું સંભારણું. ઠીક છે, તેથી દેખીતી રીતે, સુપર સરળ વિચાર. અમે એક બીટ જરૂર છે કે જે સંપૂર્ણપણે સાહજિક વધુ સ્ટોરેજ સ્પેસ - આ સ્વરૂપ માં, એક કપ - અમે ખરેખર કરવા માંગો છો આ બે ચલો સ્વેપ. તેથી માતાનો બરાબર છે કે જે કરવા દો. ઉપર અહીં હું છું દાવો જ્યાં વચ્ચે કેટલાક અદલાબદલી કરી શકાય જવા, હું પડશે આગળ વધો અને temp જાહેર. અને હું એક્સ, કહે છે, તે બરાબર સેટ પડશે. પછી હું ની કિંમત બદલવા માટે જઇ રહ્યો છું માત્ર Jess જેવા X એ સાથે અહીં હતી દૂધ અને નારંગીના રસ વાય બરાબર છે. અને હું બરાબર હોઈ વાય બદલવા માટે જઇ રહ્યો છું હવે અમે હશે નહિં કારણ કે X, એક વર્તુળ માં અટવાઇ, પરંતુ ટેમ્પ. જ્યાં કામચલાઉ હું - અથવા જ્યાં Jess અસ્થાયી ઓરેંજ જ્યુસ મૂકી કે clobbering પહેલાં દૂધ સાથે કપ. તેથી મને હવે આગળ વધો અને આ બનાવવા દો. તે noswap.c કહેવાય છે. અને હવે મને કોઈ સ્વેપ સ્કોર દો. હું વિસ્તૃત અને જો ખરેખર હું જુઓ વિન્ડો થોડુંક, કે X એ 1, વાય 2 છે. અને પછી x 2, વાય 1 છે. પરંતુ સોમવારે અમે વસ્તુઓ હતી કે યાદ થોડી અલગ જેમાં હું તેના બદલે, એક મદદગાર કાર્ય અમલમાં તમે જો કે, ખરેખર રદબાતલ કરવામાં આવી હતી. હું તે સ્વેપ કહેવાય છે. હું તે બે પરિમાણો આપ્યો છે, અને હું તરીકે ઓળખાય છે તેમને અને હું તેમને બો કહેવાય છે. પ્રમાણિકપણે, હું તેમને એક્સ અને વાય કૉલ કરી શકે છે. બંધ કશું જ નથી કે કરવાથી મને. પરંતુ હું તે પછી ચોક્કો દલીલ કરશે થોડી અસ્પષ્ટ. કારણ કે સોમવાર માટે બોલાવવાનો છે કે અમે આ પરિમાણો હતા દાવો કર્યો હતો કે મૂલ્યો નકલો સાઇન પસાર તમારી સાથે જેથી તે માત્ર messes મન, મને લાગે છે, જેનો ઉપયોગ તમે જો બરાબર એજ ચલો. તેથી હું તેની જગ્યાએ તેમને કૉલ પડશે અને બી, માત્ર સ્પષ્ટતા માટે. પરંતુ અમે તેમને સૌથી વધુ કૉલ કરી શકે છે અમે માંગો કંઈપણ. અને હું કૉપિ કરો અને પેસ્ટ કરવા માટે જઇ રહ્યો છું ત્યાં અપ અસરકારક રીતે આ કોડ અહીં ફેરવાઇ. હું માત્ર તે કામ કરે છે કે જે જોયું છે. કે જેથી ખૂબ સારી આકાર છે. અને હું, મારા X મારા X બદલવા પડશે એક માટે, બી અને બી માટે મારા વાય મારા વાય. તેથી અન્ય શબ્દોમાં, ચોક્કસ જ તર્ક. Jess હતી કે ચોક્કસ જ વસ્તુ. અને પછી હું કરવાનું એક વસ્તુ અહીં, અલબત્ત, હવે આ જગાડવા છે કાર્ય, અથવા આ કાર્ય કરો. તેથી હું બે સાથે આ કાર્ય ફોન કરશે ઇનપુટ્સ, એક્સ અને વાય, અને હિટ સાચવો. બધા હક, જેથી મૂળભૂત આ જ બાબત. હકીકતમાં, હું કદાચ કાર્યક્રમ કર્યા છે દ્વારા બિનજરૂરીપણે જટિલ માત્ર લેતી કે એક કાર્ય લેખન કોડ કેટલાક છ લીટીઓ જ્યારે હું અગાઉ અમલમાં હતી આ ત્રણ માત્ર છે. તેથી મને હવે આગળ વધો અને રિમેક દો આ બોલ પર કોઈ સ્વેપ કરો. બધા હક, હું અહીં ખરાબ. આ એક ભૂલ પ્રયત્ન કરીશું તમે કદાચ કે તમારી તરીકે વધુને વધુ સામાન્ય રીતે જોવા કાર્યક્રમો વધુ જટિલ વિચાર. પરંતુ એક સરળ સુધારો છે. મને અહીં પાછા સ્ક્રોલ દો. અને હું જોઈ રહ્યો છું પ્રથમ ભૂલ શું છે? ગર્ભિત ઘોષણા. કે સામાન્ય રીતે શું સૂચવે છે? ઓહ, હું પ્રોટોટાઇપ ભૂલી ગયા છો. હું કમ્પાઇલર શીખવે ભૂલી ગયા છો કે જે સ્વેપ અસ્તિત્વ ચાલે છે છતાં પણ તેઓ ખૂબ શરૂઆતમાં અસ્તિત્વમાં નથી કાર્યક્રમના. તેથી હું માત્ર, ખાલીપણુ, સ્વેપ કહે જઇ રહ્યો છું Int, એક ઈન્ બી, અર્ધવિરામ. તેથી હું તેને reimplement જવા નથી. પરંતુ હવે તે શું અહીં નીચે છે સાથે બંધબેસે છે. અને સૂચના, અર્ધવિરામ ગેરહાજરી અહીં, જે જરૂરી ન હોય ત્યારે અમલીકરણ. તેથી મને આ રિમેક દો, કોઈ સ્વેપ કરો. વધુ સારું આકાર. આ બોલ પર કોઈ સ્વેપ ચલાવો. અને તે ખરેખર. અમે સોમવાર પર હતા જ્યાં હવે આપણે પાછળ છીએ જ્યાં વસ્તુ સ્વેપ ન હતી. અને સાહજિક સમજૂતી શું છે શા માટે આ કેસ છે? યાહ? વિદ્યાર્થી: [અશ્રાવ્ય]. DAVID MALAN: ચોક્કસ. તેથી a અને b એક્સ અને વાય નકલો હોય છે. અને હકીકતમાં, કોઈ પણ સમયે તમે કરી છે આમ અત્યાર સુધી કે કાર્ય ફોન ints જેવા ચલો પસાર થાય છે - સ્વેપ અહીં અપેક્ષા છે જેમ - તમે ગાય્ઝ નકલો પસાર કરવામાં આવ્યા છે. જો તે થોડી લે છે એનો અર્થ એ થાય છે કે હવે આ માટે સમય, એક ભાગલા બીજા, એક ના બીટ્સ નકલ કરવા માટે કોમ્પ્યુટર અન્ય બીટ્સ માં ચલ. પરંતુ આવા મોટા સોદો નથી. પરંતુ તેઓ તેમ છતાં નકલ કરશો. અને તેથી હવે, સ્વેપ સંદર્ભમાં, હું સફળતાપૂર્વક હકીકતમાં છું A અને B બદલતા. હકીકતમાં, એક ઝડપી શું કરીએ સેનીટી તપાસો. પ્રિંટ એફ એક હું, નવી લીટી% છે. અને એક માં લેટ્સ પ્લગ. હવે બી સાથે જ વાત કરવા માતાનો દો. અને અહીં જ વસ્તુ કરવા માતાનો દો. અને હવે, મને તે જ લાઇન કૉપિ દો ફરી કાર્ય તળિયે રસપ્રદ છે કે મારા ત્રણ લાઇન્સ બાદ ચલાવવામાં, અને હોઈ શકે છે હજી સુધી ફરીથી a અને b છાપો. માતાનો આ બનાવવા તેથી હવે દો, કોઈ સ્વેપ કરો. મને ટર્મિનલ વિન્ડો બનાવવા દો બીટ ઊંચી, અમે જોઈ શકે છે કે જેથી એક જ સમયે તે વધુ. અને કોઈ સ્વેપ ચલાવો. X એ 1, વાય 2 છે. 1 છે, બી 2 છે. અને પછી 2, બી 1 છે. તેથી તે માત્ર Jess, જેમ કામ કરે છે અહીં અંદર સ્વેપ હતી. પરંતુ અલબત્ત, તેને કોઈ અસર કર્યા છે મુખ્ય માં વેરિયેબલ્સ પર. તેથી અમે એક યુક્તિ જોયું જેમાં અમે હક, આ ઠીક કરી શકે છે? જો તમે આ સ્કોપિંગ સામનો કરી રહ્યાં છે ત્યારે મુદ્દો છે, તો તમે કરી શકે છે માત્ર વાંસડા વડે એવી હોડી ચલાવવી અને X બનાવવા અને વાય કેવા પ્રકારની બદલે ચલો? તમે તેમને વૈશ્વિક બનાવી શકે. ફાઇલ ખૂબ જ ટોચ પર તેમને મૂકો અમે પણ 15 રમતમાં હતી. અમે વૈશ્વિક ચલ વાપરો. પરંતુ રમતમાં 15 સંદર્ભમાં, જો તે વૈશ્વિક પાસે વાજબી છે , બોર્ડના રજૂ ચલ કારણ કે 15.c સમગ્ર બધા છે તે રમત અમલીકરણ વિશે. કે જે ફાઈલ કરવા માટે અસ્તિત્વમાં છે. પરંતુ અહીં આ કિસ્સામાં, હું છું એક કાર્ય સ્વેપ ફોન. હું બે ચલો સ્વેપ કરવા માંગો છો. અને તે માત્ર sloppy લાગે શરૂ કરીશું જો અમારા બધા ઉકેલ અમે સ્કોપ માં ચલાવો ત્યારે સમસ્યાઓ મુદ્દાઓ તે વૈશ્વિક બનાવવા છે. ખૂબ જ ઝડપથી અમારા કાર્યક્રમ છે કારણ કે તદ્દન એક વાસણ બની જવાનું. અને અમે તે ખૂબ sparingly હતી 15.c. માં પરિણામે એક ત્યાં બહાર છે, પરંતુ તે કરે છે એકસાથે વધુ સારી રીતે. મને ખરેખર પાછા જાઓ અને કાઢી દો માત્ર આ કોડ સરળ બનાવવા માટે, F માતાનો છાપો. અને મને પ્રસ્તાવ દો કે આ ખરેખર ખરાબ છે. પરંતુ હું તેના બદલે કેટલાક ફૂદડી માં ઉમેરો તો અને તારા, હું તેના બદલે આ ચાલુ કરી શકો છો કે એકમાં કાર્ય વાસ્તવમાં ઓપરેશનલ. તેથી મને અહીં પાછા જાઓ અને કહેતા સ્વીકાર્યું દો ફૂદડી, હંમેશા મુશ્કેલ છે તેથી હું તારા કહે છે પડશે. હું માત્ર એક સુધી fess પડશે. બધા અધિકાર. અને હવે, હું જાઉં છું તેના બદલે કરવું? બધા તેથી પ્રથમ, હું સ્પષ્ટ કરવા જઇ રહ્યો છું તેને બદલે એક ઈન્ પસાર સ્વેપ કાર્ય, હું તેના બદલે છું ઈન્ સ્ટાર કહે જવા. હવે, તારો શું સૂચવે છે? આ કે નિર્દેશક કે કલ્પના છે Binky, આ ક્લેમેશન પાત્ર હતી, પહેલાં એક ક્ષણ ઉલ્લેખ. અમે ઈન્ સ્ટાર, અર્થ કહે છે તેથી જો આ હવે હોઈ જવા નથી થયેલ છે કે તેની કિંમત દ્વારા પસાર થયો. તેમાં નકલ કરવા જતા નથી તેના બદલે, એક સરનામું છે સાઇન પસાર કરી જવા તેથી તમારા કમ્પ્યુટર કે અંદર યાદ અન્યથા, મેમરી સમગ્ર ટોળું છે RAM તરીકે ઓળખાય છે. અને તે માત્ર એક રેમ છે બાઇટ્સ સંપૂર્ણ ટોળું. તમારા મેક કે તમારા પીસી છે તેથી જો બે ગીગાબાઇટ્સ, તમે 2 પાસે મેમરી અબજ બાઇટ્સ. હવે માત્ર ધારવું દો માત્ર તે વસ્તુઓ સરસ અને સુવ્યવસ્થિત રાખવા, અમે એક સરનામું સોંપી - એક નંબર - તમારા કમ્પ્યુટર RAM ના દરેક બાઈટ છે. તે 2 ખૂબ પ્રથમ બાઇટ અબજ નંબર શૂન્ય છે. આગામી એક બાઇટ નંબર એક નંબર છે અપ પર બે, બધી રીતે, કોઈ કોઈ આશરે 2 અબજ ડોટ. તેથી તમે બાઈટોની સંખ્યા કરી શકો છો તમારા કમ્પ્યુટર મેમરી છે. તેથી કે જે માતાનો ધારે દો શું અમે એક સરનામું દ્વારા થાય છે. તેથી હું જઈ રહ્યો છે તે ઈન્ તારો, જુઓ ત્યારે હવે સ્વેપ પસાર કરી છે એક સરનામું. નથી તેની કિંમત છે, પરંતુ ગમે તે તેના પોસ્ટલ સરનામા તેથી વાત કરવા માટે, છે - RAM તેના પાંચ આંકડાના US સ્થાન. અને એ જ રીતે b માટે, હું જાઉં છું આ જ બાબત કહે છે. ઈન્, સ્ટાર, બી. એક કોરે, ટેકનિકલી સ્ટાર તરીકે અન્ય સ્થળોએ જવા શકે છે. પરંતુ અમે જેમાં સ્ટાર પર પ્રમાણિત પડશે ડેટા પ્રકાર અધિકાર આગામી. તેથી સહી હવે એનો અર્થ એ સ્વેપ, મને આપી જો એક ઈન્ ની સરનામું, અને કોલ કે સરનામું. અને મને એક બીજા સરનામું આપો INT અને તે સરનામું બો કૉલ કરો. પરંતુ હવે અહીં મારા કોડ બદલવા માટે છે. કારણ કે હું ઈન્ temp જાહેર જો - જે પ્રકાર ઈન્ હજુ પણ છે - પરંતુ હું, જો તે સંગ્રહ કિંમત પ્રકારની શું? સ્પષ્ટ કરવા, હું સાથે એક મૂકવા છું હમણાં લખેલા તરીકે કોડ? હું આ પાંચ આંકડાના US સ્થાન મૂકી રહ્યો છું. પરંતુ હું વિશે કાળજી નથી પાંચ આંકડાના US સ્થાન હવે, બરાબર ને? ટેમ્પ માત્ર Jess 'તૃતીય કપ અસ્તિત્વમાં અસ્તિત્વ ધરાવે છે, શું હેતુ માટે? કિંમત સંગ્રહવા માટે. દૂધ અથવા નારંગી રસ. વાસ્તવમાં ની સરનામા માટે સંગ્રહવા માટે નથી તે વસ્તુઓ ક્યાં, જે લાગે છે આ પ્રત્યક્ષ થોડો વાહિયાત કોઈપણ રીતે વિશ્વમાં સંદર્ભ. તેથી, ખરેખર શું હું temp માં મૂકેલ એક સરનામું, પરંતુ નથી એક સામગ્રીઓનું. એક 123 જેવા નંબર છે તેથી, જો આ છે કે મેમરીનો 123rd બાઇટ માત્ર , કબજો હોઈ બને કે કિંમત એક કબજો હોઈ બને. , હું સરનામા માટે જવા માંગો છો, તો હું તારો કહે છે કરવાની જરૂર છે. એ જ રીતે, જો હું શું બદલી હતા સરનામાં પર એક, હું બદલી આ શરૂ કરવા માટે. હું અંતે શું સંગ્રહ કરવા માંગો છો, તો પાંચ આંકડાના US સ્થાન પર શું સાથે પાંચ આંકડાના US સ્થાન એક બોલ્ડ અંતે તારો બો તારો. આ લાગતા છે તેથી ટૂંકી, પણ જો હજી સુધી માં આવી - અને હું નથી અપેક્ષા કરશે તેથી તે ઝડપી લેશે - હું શું કરી રહ્યો છું બધા prefixing છે કે ખ્યાલ આ મારા ચલો સાથે તારાઓ, કહીને કિંમતો પડાવી લેવું નથી. મૂલ્યો બદલી નથી. પરંતુ, તે સરનામાઓ પર જાઓ અને કિંમત મળે છે. કે સરનામા અને બદલો પર જાઓ ત્યાં મૂલ્ય. તેથી હવે, મને ટોચ પર પાછા સ્ક્રોલ દો માત્ર, અહીં આ વાક્ય સુધારવા માટે મેચ કરવા માટે, તે પ્રોટોટાઇપ બદલો. પરંતુ હવે હું એક અન્ય વસ્તુ કરવાની જરૂર છે. તર્ક, હું પ્રકારની બદલ્યું હોય દલીલો કે સ્વેપ અપેક્ષા છે, હું બીજું શું કરવાની જરૂર નથી મારા કોડમાં ફેરફાર? હું સ્વેપ કૉલ કરો ત્યારે. હમણાં, શું છું કારણ કે હું હજુ પણ સ્વેપ કરવાનો પસાર? આ કિંમત એક્સ અને વાય ની કિંમત, અથવા દૂધ અને નારંગીના રસ. પરંતુ હું કરવા માંગો છો નથી. હું તેના બદલે શું પસાર કરવા માંગો છો? જો X સ્થાન અને વાય ના પાંચ આંકડાના US સ્થાન. તેમના પોસ્ટલ એડ્રેસ, શું છે તેથી વાત કરવા માટે. તેથી તે કરવા માટે, એક & "અને" નું ચિહ્ન છે. સરનામા જેવી અવાજની & "અને" નું ચિહ્ન પ્રકારની. તેથી એ, & "અને" નું ચિહ્ન, સરનામું ના એક્સ, વાય અને આ સરનામું. તેથી તે અમે વાપરો કે જે ઇરાદાપૂર્વક છે ampersands કાર્ય પર કૉલ કરતી વખતે, અને તારાઓ જાહેર અને ત્યારે કાર્ય અમલીકરણ. તરીકે અને માત્ર & "અને" નું ચિહ્ન લાગે ઓપરેટર ઓફ સરનામું, અને તરીકે તારો ઓપરેટર ત્યાં જવા - અથવા, વધુ યોગ્ય રીતે, આ ખોટો સંદર્ભ ઓપરેટર. તેથી માત્ર શબ્દો એક સમગ્ર ઘણો છે હવે, આશા, સ્વેપ ચાલે છે કહે છે કે સાચું છે. મને આગળ વધો અને બનાવવા દો - કદાચ, માતાનો વાસ્તવમાં ફાઈલ નામ બદલી દો આ કાર્યક્રમને આજે પણ કોઈ સ્વેપ કહેવાય છે. હું હવે અમે તે swap.c કૉલ કરશો દાવો છે કે. તેથી સ્વેપ, બનાવે છે. ડોટ, સ્લેશ, સ્વેપ. અને હવે ખરેખર, X એ 1, વાય 2 છે. અને પછી, X 2, વાય છે. વેલ અમે આ ન કરી શકો તો માતાનો જોવા દો શું તરીકે અલગ થોડુંક અહીં ચાલે. પ્રથમ, મને આપણા પર ઝૂમ દો અહીં સ્ક્રીન ચિત્રકામ. અને મને એક ક્ષણ માટે પ્રસ્તાવ દો - અને હું અહીં ડ્રો જ્યારે પ્રતિબિંબ થશે અપ ત્યાં હવે - મારા પ્રસ્તાવ દો કે અહીં મેમરી સમગ્ર ટોળું, અથવા રેમ, મારા કોમ્પ્યુટર પર આધારિત છે. અને આ ડંખ નંબર હશે , ચાલો કહે 1 દો. આ બાઇટ્સ નંબર 2 હશે. અને હું એક સમગ્ર ટોળું નથી, અને પડશે પછી કોઈ કોઈ બિંદુઓ એક ટોળું 2 અબજ છે તે સૂચવવા આ બધી વસ્તુઓ. 4, 5, અને તેથી આગળ. તેથી પ્રથમ પાંચ બાઇટ્સ હોય છે મારા કમ્પ્યુટરની મેમરી. બધા અધિકાર? 2 અબજ બહાર ખૂબ થોડા. પરંતુ હવે હું પ્રસ્તાવ માટે જઇ રહ્યો છું નીચેના. હું X ચાલે છે કે પ્રસ્તાવ કરવા જઇ રહ્યો છું નંબર 1 સંગ્રહવા, અને વાય ચાલે છે નંબર 2 સંગ્રહવા માટે. અને મને હવે આગળ વધો અને પ્રતિનિધિત્વ દો આ કિંમતો તરીકે અનુસરે છે. નીચે પ્રમાણે આવું ચાલો. મને માત્ર એક બીજા આપો. એક સેકન્ડ. ઠીક. હું આ થોડું બનાવવા માંગો છો - ફરી આવું કરીએ. નહિંતર હું જવા અને મદદથી છું એ જ નંબરો, અજાણતા, ઘણી વખત. તેથી માત્ર જેથી અમે અલગ હોય છે વિશે વાત કરવા માટે, ચાલો આ બાઇટ કૉલ નંબર 123, 124, 125, 126, અને ડોટ ડોટ ડોટ. અને મને હું જઈ રહ્યો છું કે હવે દાવો દો અહીં કિંમત 1, અને કિંમત 2 મૂકી અહીં, અન્યથા એક્સ અને વાય તરીકે ઓળખાય છે. તેથી તે માત્ર જેથી બને આ X છે, આ વાય છે. અને માત્ર કેટલાક રેન્ડમ તક દ્વારા, કોમ્પ્યુટર, ઓપરેટિંગ સિસ્ટમ, પાંચ આંકડાના US સ્થાન પર X મૂકી થયું નંબર 123. અને વાય પાંચ આંકડાના US સ્થાન 124 અંતે અંત - તે ખરેખર. હું આ સુધારેલ છે કરીશું. માણસ ઓહ, હું ખરેખર આ કરવા માંગો છો? હા, હું આ અને સુધારવા માંગો છો આજે વિશે યોગ્ય બી. માફ કરશો, આ સમયે નવા. 127, 131, અને હું આ કરવા માંગો છો ન હતી જટિલ છે, પરંતુ શા માટે હું બદલી હતી ત્યાં નંબરો? હું ints કરવા માંગો છો કારણ કે ખરેખર ચાર બાઇટ્સ છે. તેથી માતાનો આ વિશે સુપર ગુદા બનાવી દો. જો 1 સંબોધવામાં થાય કે જેથી 123, 2 સરનામા અંતે હોઈ ચાલે છે તે માત્ર 4 બાય દૂર છે 127 કારણ કે. તે બધા છે. અને અમે બધા વિશે ભૂલી પડશે વિશ્વમાં અન્ય સરનામાં. તેથી એક્સ, પાંચ આંકડાના US સ્થાન 123 પર છે વાય પાંચ આંકડાના US સ્થાન 127 પર છે. અને હવે, હું ખરેખર શું કરવું કરવા માંગો છો? હવે હું સ્વેપ કૉલ કરો ત્યારે, શું છે ખરેખર ચાલુ? ઠીક છે, હું સ્વેપ કૉલ, જ્યારે હું પસાર છું X ની સરનામું અને વાય ની સરનામું. તેથી દાખલા તરીકે, જો આ બે ટુકડાઓ કાગળ હવે બે પ્રતિનિધિત્વ દલીલો a અને b સ્વેપ કરવાનો છે, હું શું છું આ પ્રથમ પર લખી જવા હું એક તરીકે સંદર્ભ લો કૉલ કરવા જઇ રહ્યો છું કે જે? બરાબર, 123. તેથી હું દાવો છે કે આ એક છે. આ એક પરિમાણ છે. હું ત્યાં X ની સરનામા મૂકી રહ્યો છું. કે શું? કે શું? ના, ના. તે ઠીક છે. હજુ પણ સારા, હજુ પણ સારી. તેથી આ એક છે. અને હવે કાગળ બીજા ભાગ પર, આ બોલ્ડ હોઈ ચાલે છે, અને હું શું છું પર લખી શકાય જવા કાગળ આ ટુકડો? 127. તેથી ત્યારથી બદલાઈ રહ્યું છે કે આ જ વસ્તુ આ વાર્તા અમારા અગાઉના કહી છે, તેના બદલે 1 શાબ્દિક કરતાં અને 2, હું છું 123 અને 127 માં પસાર કરવા જતા. અને હવે હું આ અંદર મૂકવામાં જઇ રહ્યો છું આ બોક્સની, બધા અધિકાર? કે જેથી બ્લેક બોક્સ હવે પ્રતિનિધિત્વ સ્વેપ કાર્ય. વચ્ચે, હવે કોઈને પણ આપો સ્વેપ કાર્ય અમલ. અપ અહીં કોઈને વૂડ સ્વયંસેવક કરવા માંગો છો? આ બોલ પર આવો. તમારું નામ શું છે? ચાર્લી. બધા હક, ચાર્લી. આ બોલ પર આવો. તેથી ચાર્લી રમવા જવાનું છે અમારા બ્લેક બોક્સની ભૂમિકા. હું તમે શું કરવા માંગો છો શું અને ચાર્લી, હવે એવી રીતે સ્વેપ અમલ થયેલ છે કે, તે બે સરનામાં આપવામાં, તમે ખરેખર ચાલુ હતો મૂલ્યો બદલી છે. અને હું તમારી કાન માં સૂચના પડશે અહીં ટીવી સ્કોર કેવી રીતે. તેથી આગળ વધો અને તમે કાળા બોક્સ છો. ત્યાં પહોંચે છે. તમે શું કિંમતો એક માટે જુઓ, અને નથી તમે b માટે શું કિંમતો જોશે? ચાર્લી: એક 123 છે અને બી 127 છે. DAVID MALAN: બરાબર, બરાબર. માત્ર એક ક્ષણ માટે ત્યાં હવે વિરામ. તમે હવે કરવા જઇ રહ્યાં છો તે પ્રથમ વસ્તુ FIPS એ પ્રમાણે છે - જે હું હવે સ્ક્રીન પર ખેંચવાનો કરીશું - થોડી ફાળવવા માટે હોઈ ચાલે છે મેમરી બીટ temp કહેવાય છે. તેથી હું આગળ જવા માટે જતા અને છું તમે કે જે મેમરી આપે છે. તેથી આ તૃતીય ચલ હોઈ ચાલે છે તમે માટે સુલભ હોય છે તમે temp કહેવાય છે. અને શું તમે લખવા માટે જતા હોય છે કાગળ temp ભાગ પર? ચાર્લી: પોઇન્ટર, અધિકાર? DAVID MALAN: બરાબર, સારી નથી પોઇન્ટર જરૂરી. તેથી હું કર્યું કે કોડ કે જે આ વાક્ય જમણી બાજુ પર પ્રકાશિત, ત્યાં શરૂ કરીએ. તે તારો કહે છે. તેથી હાલમાં સ્ટોર કરે છે સંખ્યા 123. અને માત્ર તર્ક, શું તારો 123 અર્થ છે? પરંતુ ખાસ કરીને, એક હોય 123, એક તારો શું અર્થ? એક મૂલ્ય. અથવા વધુ આકસ્મિકપણે, ત્યાં જાઓ. તેથી એક હિસ્સો છે, મને કે પ્રસ્તાવ દો તમારા હાથ, આગળ વધો અને સારવાર કે છતાં જો તે નકશો છે. અને કોમ્પ્યુટરની જાતે ઉપર જવામાં મેમરી, અને શું છે અમને શોધવા પાંચ આંકડાના US સ્થાન 123 મુ. બરાબર. તેથી અમે પાંચ આંકડાના US સ્થાન 123 પર જુઓ શું, દેખીતી રીતે છે? ઠીક છે, તેથી હવે તમે શું કિંમત છે temp મૂકવા જતાં? બરાબર. તેથી આગળ વધો અને તે કરવું. અને ના ભાગ પર નંબર 1 લખવા હાલમાં temp શીર્ષક કે કાગળ. અને હવે આગામી પગલું છે કે તમે અમલ કરવા જઈ રહ્યાં છો શું હોઈ ચાલે છે. સારું, જમણી બાજુ પર કોડ ઓફ આગામી વાક્ય તારો બોલ્ડ છે. બોલ્ડ છે, કોર્સ, એક સરનામું સંગ્રહે છે. કે 127 સંબોધે છે. નક્ષત્ર બો આકસ્મિકપણે બોલતા શું થાય? તે સ્થાન પર જાઓ. તેથી આગળ વધો અને શું અમને શોધવા પાંચ આંકડાના US સ્થાન 127 મુ. ઠીક. અલબત્ત, પાંચ આંકડાના US સ્થાન 127 અંતે હજુ પણ કિંમત 2 છે. તેથી શું તમે હવે સ્ટોર ચાલુ છે એક માં સ્થાન પર ગમે છે? તેથી તારો અર્થ એ પાંચ આંકડાના US સ્થાન પર જાઓ. જે પાંચ આંકડાના US સ્થાન શું છે? બરાબર. તેથી હવે, તમે બદલવા માંગતા હોય તો તે સ્થાન પર શું છે - હું આગળ જાઓ અને ચલાવવા પડશે આ ભૂંસવા માટેનું રબર અહીં છે. અને હવે બ્રશ પર પાછા મૂકવા. શું તમે નંબર લખો જતા હોય છે હવે તે ખાલી બોક્સમાં? બરાબર. તેથી કોડ આ વાક્ય સ્પષ્ટ કરવા - દો મને ચાર્લી માતાનો કરવાથી શું અટકાવવા અને અહીં નિર્દેશ, શું તે માત્ર કરવામાં આવ્યું છે પાંચ આંકડાના US સ્થાન 123 ખાતે બોક્સમાં લખી બોલ્ડ ખાતે અગાઉ હતું કે મૂલ્ય. અને તેથી અમે હવે ખરેખર અમલ કર્યો છે કોડના આ બીજી લાઇન. હવે કમનસીબે, ત્યાં બાકી હજુ પણ એક વાક્ય. શબ્દશઃ temp હવે શું છે? તે દેખીતી રીતે નંબર એક છે. તે એક સરનામું નથી. તે પ્રકારની છે, માત્ર સંખ્યા સપ્તાહ એક એક ચલ. અને હવે તમે સ્ટાર બી, અર્થ એ થાય કે કહે છે ત્યારે જો સરનામા બો પર જાઓ, જે છે અહીં કોર્સ. તેથી એક વાર તમે ત્યાં વિચાર - હું આગળ જાઓ અને ખરેખર શું છે તે ભૂંસી પડશે ત્યાં - તમે અને શું છે પાંચ આંકડાના US સ્થાન 127 અંતે હવે લખવા માટે ચાલે? ચાર્લી: ટેમ્પ, એક છે. DAVID MALAN: ટેમ્પ, એક છે. અને અંતે temp શું થાય? ઠીક છે, આપણે ખરેખર ખબર નથી. અમે ખરેખર કાળજી નથી. અમે એક કાર્ય અમલમાં કર્યું કોઈપણ સમય આમ અત્યાર સુધી, કોઈપણ સ્થાનિક ચલો તમારી પાસે ખરેખર સ્થાનિક છે. અને તેઓ માત્ર અદૃશ્ય થઈ. તેઓ ઓપરેટિંગ દ્વારા ફરીથી દાવો કરી રહ્યાં છો આખરે સિસ્ટમ. તેથી temp હજુ ​​પણ એ હકીકત છે કે કિંમત 1 સોર્ટ મૂળભૂત છે અમને uninteresting. બધા હક, જેથી અભિવાદન એક રાઉન્ડ અમે ચાર્લી માટે કરી શકે છે જો. ખૂબ જ સારી રીતે થાય. બધા અધિકાર છે, તેથી શું વધુ કરે છે આ અમે શું કરી શકો છો અર્થ? તેથી તે અમે કરી છે કે બહાર વળે થોડા સફેદ ખોટા કહેવાની અમુક સમય માટે શાંત. ખરેખર, તે છે, કે જે શબ્દમાળા બહાર વળે આ સમયે બધા એક ખરેખર નથી SE દીઠ અક્ષરો ક્રમ. તે પ્રકારની છે કે જે તર્ક છે. પરંતુ ટેકનિકલ રીતે બોલતા, શબ્દમાળા છે અમે અંદર જાહેર છે કે જે માહિતી પ્રકાર વિશ્વમાં સરળ બનાવવા માટે CS50 પુસ્તકાલય વર્ગ પ્રથમ થોડા અઠવાડિયા માટે. શું શબ્દમાળા ખરેખર છે તે સરનામું છે ક્યાંક RAM એક પાત્ર છે. શબ્દમાળા 123, જેમ ખરેખર એક નંબર છે સીમાંકન કરવું થાય છે કે કે 127, શબ્દમાળા માં શરૂ થાય છે જ્યાં તમારા કમ્પ્યુટરની મેમરી. પરંતુ તે દર્શાવી નથી સ્ટ્રિંગ, દીઠ સે, પોતે. અને અમે આ પ્રમાણે જોઈ શકો છો. મને આગળ વધો અને ખોલો દો વચ્ચે જે અમુક કોડ આજના સ્રોત કોડ ઉદાહરણો. અને હું આગળ જાઓ અને ખોલવા માટે જઇ રહ્યો છું અપ, તુલના-0.c, માતાનો કહે દો. આ ચાલે છે કે બગડેલ કાર્યક્રમ છે નીચે પ્રમાણે અમલમાં આવશે. પ્રથમ. હું કંઈક કહે જઇ રહ્યો છું. પછી હું આગળ જવા માટે જતા અને છું વપરાશકર્તા માંથી શબ્દમાળા વિચાર કે આગામી વાક્ય. પછી હું તેને ફરીથી કહે જઇ રહ્યો છું. પછી હું બીજા વિચાર કરવા જઇ રહ્યો છું વપરાશકર્તા માંથી શબ્દમાળા. અને સૂચના, હું એક છું દર્શાવે છે ઓ તરીકે ઓળખાતી ચલ શબ્દમાળાઓ, અને આ શબ્દમાળાઓ અન્ય ટી નામની એક ચલ. અને હવે હું ખૂબ જ દાવો કરવા જઇ રહ્યો છું વ્યાજબી, ઓ બરાબર હોય તો, ટી બરાબર છે કે શબ્દમાળાઓ સમાન હોય છે. તમે એક જ વસ્તુ લખો. બીજું, શબ્દમાળાઓ છે નથી એ જ વસ્તુ. બધા પછી, અમે ઇનપુટ બે ints, બે જો અક્ષરો, બે ફ્લોટ્સ, બે ડબલ્સ કોઈપણ અમે વિશે વાત કરેલા ડેટા પ્રકારો આમ અત્યાર સુધી સરખાવવા માટે તેમને - અમે જ્યારે પહેલાં ખૂબ જ સ્પષ્ટ કરવામાં રિકોલ જો તમે આવું નથી, કારણ કે એક સમાન સાઇન કોર્સ છે સોંપણી ઓપરેટર. કે જેથી ભૂલ હોઈ શકે છે. અમે બરાબર સમાન સાઇન વાપરો ખરેખર સરખાવે છે જે સાચું સમાનતા માટે વસ્તુઓ. પરંતુ હું આ બગડેલ છે દાવો. હું આગળ જાઓ અને શૂન્ય તુલના કરો તો, અને પછી કોઈ સ્લેશ શૂન્ય તુલના નથી. અને હું હેલ્લો, માતાનો કહે દો માં લખો. અને પછી માતાનો ફરીથી હેલો કહો દો. શબ્દશઃ જ વસ્તુ, કમ્પ્યૂટર હું અલગ વસ્તુઓ ટાઇપ દાવો કરે છે. હવે કદાચ હું માત્ર કંઈક mistyped. હું મારું નામ આ સમય લખો પડશે. હું તેનો અર્થ, હેલો. હેલો. તે દરેક એક સમય અલગ છે. ઠીક છે, શા માટે છે? શું ખરેખર ચાલુ છે હૂડ નીચે? ઠીક છે, શું ખરેખર નીચે રહ્યું છે હૂડ પછી શબ્દમાળા છે હું હમણાં પૂરતું છે કે પ્રથમ વખત માં ટાઇપ શબ્દ અલબત્ત, હેલ્લો છે. પરંતુ અમે નીચે આ પ્રતિનિધિત્વ જો હૂડ, યાદ છે કે એક સ્ટ્રિંગ એક એરે છે. અને અમે ભૂતકાળમાં ઘણી જણાવ્યું હતું કે કર્યું છે. હું આ જેમ કે એરે ડ્રો તેથી જો, હું છું તદ્દન કંઈક પ્રતિનિધિત્વ કરવાના અમે એક ક્ષણ પહેલા શું કર્યું જેવું જ. અને કંઈક ખરેખર છે પણ, અહીં ખાસ. અમે અંતે શું હતું તે નક્કી હતી દરેક શબ્દમાળા ઓવરને? અરે વાહ, આ બેકસ્લેશ શૂન્ય છે, કે જે છે પ્રતિનિધિત્વ માત્ર માર્ગ, શબ્દશઃ 00000000. એક પંક્તિ માં આઠ 0 બીટ્સ. હું પ્રમાણિકપણે, ખબર નથી આ પછી શું. માત્ર એક ટોળું વધુ RAM છે મારા કોમ્પ્યુટર પર આધારિત છે. પરંતુ આ એક એરે છે. અમે પહેલાં એરેને વિશે વાત કરી હતી. અને અમે સામાન્ય રીતે એરેને વિશે વાત પાંચ આંકડાના US સ્થાન શૂન્ય હોવાથી, પછી એક, બે. પરંતુ તે માત્ર અનુકૂળતા માટે છે. અને તે સંપૂર્ણપણે સંબંધિત છે. તમે ખરેખર માંથી મેમરી રહ્યાં છો ત્યારે કમ્પ્યુટર, તે કોર્સ કોઇ ચોક્કો 2 અબજ કેટલાક વિચિત્ર બાઇટ્સ, સંભવિત. તેથી ખરેખર હૂડ નીચે, આ બધા સમય, હા. આ ખૂબ જ સારી રીતે કૌંસ શૂન્ય હોઈ શકે છે. પરંતુ તમે નીચે પણ ઊંડા ડિગ જો હૂડ, કે જે ખરેખર છે નંબર 123 સંબોધવા. આ સરનામું 124 છે. આ સરનામું 125 છે. અને હું આ સમય અપ સ્ક્રૂ ન હતી. આ હવે એક બાઇટ્સ છે સિવાય શું કારણ? એક ચાર કેટલો મોટો છે? એક ચાર માત્ર એક બાઇટ છે. એક ઈન્ રીતે ચાર બાઇટ્સ છે. હું તે 123 કરવામાં શા માટે છે, કે જેથી ચોક્કો 127, 131 અને તેથી આગળ. હવે હું ગણિત સરળ રાખી શકો છો અને માત્ર વત્તા 1 કરીએ. અને આ હવે ખરેખર રહ્યું છે હૂડ નીચે છે. જો તમે આ કંઈક જાહેર તેથી, જ્યારે સ્ટ્રિંગ ઓ, આ ખરેખર છે - તે બહાર વળે - ચાર સ્ટાર. નક્ષત્ર, અલબત્ત, એનો અર્થ એ થાય સરનામું, ઉર્ફ પોઇન્ટર. તેથી તે કંઈક સરનામું છે. તે શું સરનામું છે? વેલ - હું ખૂબ જ જોઈ શકે છે જે માત્ર એક જ છું મહત્વપૂર્ણ બિંદુ હું બનાવવા, અથવા લાગે છું હું કર્યા કરું છું. તેથી શબ્દમાળા - આ ઉદાસી વસ્તુ હું મોનીટર હોય છે જમણી ત્યાં જ્યાં હું જોઇ શકે છે. બધા હક, જેથી શબ્દમાળા ઓ શું છે હું અગાઉ જાહેર કર્યું. પરંતુ તે ઓછી કરવા માટે આભાર, બહાર વળે જો CS50 પુસ્તકાલય જાદુ, આ બધા સમય શબ્દમાળા શાબ્દિક છે ચાર સ્ટાર બની છે. સ્ટાર ફરીથી અર્થ એ થાય નિર્દેશક અથવા સરનામું. તે flanking તે હકીકત શબ્દ ચાર તે અર્થ એક પાત્રની સરનામું. શબ્દમાળા તરીકે ઓળખાય છે વિચાર છે, અને હું લખો તેથી જો H-ઇ એલ એલ ઓ માં, વિચાર છે તે હવે પ્રસ્તાવ સ્ટ્રિંગ શાબ્દિક બધા પરત કરવામાં આવી આ સમય, અમે કર્યું બદલે હોવા છતાં પણ વિશ્વમાં oversimplified? સ્ટ્રિંગ ખરેખર વિચાર શું કરે છે તેના વળતર કિંમત તરીકે પાછા? આ કિસ્સામાં, 123 દાખલા તરીકે. અમે અગાઉ શબ્દમાળા વિચાર જણાવ્યું હતું કે કર્યું ખાલી સ્ટ્રિંગ, ક્રમ આપે છે અક્ષરો. પરંતુ તે એક સફેદ જૂઠ એક બીટ છે. આ રીતે શબ્દમાળા ખરેખર કામ કરે છે વિચાર હૂડ નીચે તે નહીં છે વપરાશકર્તા માંથી શબ્દમાળા. તે કે જે અક્ષરો plops મેમરી તે અથવા તેણી પ્રકારો. તે અંતે એક બેકસ્લેશ શૂન્ય મૂકે અક્ષરો તે શ્રેણી. પરંતુ પછી શબ્દમાળા શું વિચાર કરે છે શાબ્દિક પાછા? તે શાબ્દિક ની સરનામા આપે છે રામ ખૂબ જ પ્રથમ બાઇટ્સ કે તે મજબૂતાઇ માટે વપરાય છે. અને તે પરત દ્વારા માત્ર બહાર વળે જો એક સરનામા શબ્દમાળા માં પ્રથમ અક્ષર, કે છે સમગ્ર શોધવા માટે પૂરતી શબ્દમાળા. અન્ય શબ્દોમાં, સ્ટ્રિંગ નથી વિચાર 123 અને 124 અને 125 પર પરત ફરો. તે મને લાંબા આપી નથી કે બાઇટ્સ બધી યાદી મારા શબ્દમાળા વાપરી રહ્યા છે. એક છે, કારણ કે તેઓ બેક બધા પાછા આવ્યા. અને હું, પ્રથમ સરનામા પર બે, આધારિત શબ્દમાળા જ્યાં અંત થાય બહાર આકૃતિ કરી શકો છો. કેવી રીતે? આ ખાસ નલ પાત્ર છે, ઓવરને અંતે શૂન્ય બેકસ્લેશ. તેથી અન્ય શબ્દોમાં, જો તમે આસપાસ પસાર - ચલો ની અંદર - એક ચાર ઓફ સરનામું, અને તમે ધારે કોઇપણ શબ્દમાળા ઓવરને અંતે કોઈપણ કે અમે મનુષ્યો અક્ષરો ક્રમ તમે ધારે તો, શબ્દમાળાઓ લાગે છે કે ત્યાં કોઇ શબ્દમાળા ઓવરને અંતે એક બેકસ્લેશ શૂન્ય, તો તમે ગોલ્ડન છો. તમે હંમેશા શોધી શકો છો કારણ કે શબ્દમાળા ઓવરને. હવે શું ખરેખર તો પછી રહ્યું આ કાર્યક્રમમાં પર? શા માટે આ કાર્યક્રમ છે, તુલના-0.c, બગડેલ? ખરેખર શું સરખામણીમાં આવી રહી છે? યાહ? વિદ્યાર્થી: [અશ્રાવ્ય]. DAVID MALAN: ચોક્કસ. તે સ્થળો સરખામણી છે શબ્દમાળાઓ છે. વપરાશકર્તા હેલ્લો એકવાર લખ્યો છે તેથી જો, હું હતી, મેમરી અંત શકે છે આ જેમ જોઈ. ફરી હેલ્લો માં વપરાશકર્તા પછી પ્રકારો જો નહિં, તો પરંતુ ફરીથી શબ્દમાળા વિચાર ફોન દ્વારા, સી છે તમે ખાસ કરીને હોંશિયાર શીખવે નથી જ્યાં સુધી તે કોડ લખીને હોંશિયાર હોય છે. સી - વધુ સામાન્ય અને કમ્પ્યૂટરો - તમે હેલો ફરીથી શબ્દ ટાઈપ જો, તમે વિચાર જઈ રહ્યાં છે તે ખબર. તમે માત્ર એક બીજા એરે વિચાર જઈ રહ્યાં છો મેમરી કે, હા, હોઈ બને H-ઇ એલ એલ ઓ સ્ટોર છે અને તેથી આગળ. તે જ જોવાનું રહ્યું અમને મનુષ્યો, પરંતુ આ સરનામું 123 ન હોઈ શકે છે. તે માત્ર જેથી થાય કે જે કદાચ ઓપરેટિંગ સિસ્ટમ અમુક ઉપલબ્ધ છે પાંચ આંકડાના US સ્થાન પર દાખલા જગ્યા - મનસ્વી કંઈક કહે છે ચાલો, આ જેમ પાંચ આંકડાના US સ્થાન 200 છે. અને આ સ્થાન 201 છે. અને આ સ્થાન 202 છે. અમે કે જ્યાં કોઈ વિચાર છે મેમરી હોઈ ચાલે. પરંતુ આ શું અર્થ શું છે ઓ આખરે સંગ્રહિત કરી જવા? આ નંબર 123. , ટી સંગ્રહિત કરી જવા શું આ મનસ્વી ઉદાહરણ છે? આ નંબર 200. અને તે પછી એનો અર્થ એ બધા, દેખીતી રીતે છે 123 200 સમાન નથી. અને તેથી આ ક્યારેય શરત જો સાચું મૂલ્યાંકન. ગેટ શબ્દમાળા અલગ ઉપયોગ કરી રહ્યા છે, કારણ કે મેમરી હિસ્સામાં દરેક સમય. હવે અમે ફરી આ જોઈ શકો છો અન્ય એક ઉદાહરણ છે. મને આગળ વધો અને કોપી 0.c ખોલો દો. હું આ ઉદાહરણ ચાલે છે કે દાવો પ્રયાસ - પણ નિષ્ફળ - બે શબ્દમાળાઓ નકલ કરવા માટે તરીકે અનુસરે છે. હું કંઈક કહે જઇ રહ્યો છું વપરાશકર્તાને. હું પછી એક વિચાર કરવા જઇ રહ્યો છું સ્ટ્રિંગ છે અને તે ઓનલાઈન કૉલ કરો. અને હવે, હું અહીં આ ચેક કરી રહ્યો છું. અમે આ વખતે પાછા ઉલ્લેખ કર્યો છે. પરંતુ, જ્યારે શબ્દમાળા વળતર નલ મેળવી શકે છે અન્ય વિશિષ્ટ અક્ષર અથવા ખાસ પ્રતીક ચાલો કહે છે. તે મેમરી બહાર તો. દાખલા તરીકે, વપરાશકર્તા ખરેખર હોય એક ભયાનક મુશ્કેલ અને પ્રકારો છે આ ઓછા અક્ષરો આઉટસ્ટેન્ડિંગની સંખ્યા કીબોર્ડ અને હિટ દાખલ કરો. અક્ષરો કે જે નંબર માત્ર ન કરી શકે તો ક્રેઝી ગમે માટે RAM માં ફિટ કારણ, તેમજ શબ્દમાળા કદાચ વિચાર ખૂબ જ સારી રીતે નલ આવો. અથવા તમારા કાર્યક્રમ પોતે ઘણો કરી છે તો અન્ય વસ્તુઓ અને માત્ર ત્યાં છે ગેટ શબ્દમાળા માટે નથી પૂરતી મેમરી સફળ થવા માટે, તે અંત હોઈ શકે છે નલ પરત છે. પરંતુ વધુ ચોક્કસ કરી શકાય દો આ શું છે તે માટે. S નાં માહિતી પ્રકાર ખરેખર શું છે? ચાર સ્ટાર. તેથી તે હવે અમે છાલ કરી શકો છો બહાર વળે નલ ના સ્તર બેક. બહાર ફેંકે છે, નલ છે - હા, દેખીતી રીતે ખાસ પ્રતીક. પરંતુ તે ખરેખર શું છે? ખરેખર, નલ માત્ર એક પ્રતીક છે કે અમે માનવીઓ તેમજ શૂન્ય પ્રતિનિધિત્વ કરવા માટે ઉપયોગ કરે છે. સી ના લેખકો, અને કમ્પ્યુટર્સ તેથી વધુ સામાન્ય વર્ષો પહેલા નક્કી કર્યું કે, તમે શું જાણો છો. અમે શા માટે ખાતરી નથી કે જે વપરાશકર્તા કોઈ માહિતી ક્યારેય ક્યારેય, ક્યારેય છે બાય શૂન્ય પર સંગ્રહિત? હકીકતમાં, પણ મારા મનસ્વી ઉદાહરણમાં પહેલાં, હું નંબરિંગ શરૂ ન હતી શૂન્ય પર બાઇટ્સ. હું એક ખાતે શરૂ કર્યું. હું વિશ્વના લોકો જે જાણતા હતા કારણ કે શૂન્ય અનામત નિર્ણય કર્યો છે કોઈની RAM તરીકે બાઇટ ખાસ કંઈક. કારણ છે, કોઈપણ સમયે તમે કરવા માંગો છો કંઈક ખોટું થયું છે કે સિગ્નલ સરનામાં સંદર્ભે સાથે, તમે પરત નલ - અન્યથા શૂન્ય તરીકે ઓળખાય છે - અને તમે છે તે ખબર છે કારણ કે સ્પષ્ટ રીતે, સરનામું શૂન્ય પર માહિતી legit કે ભૂલ થાય છે. અને તે અમે સંમેલન દ્વારા તપાસ શા માટે છે નલ અને વળતર કંઈક માટે તે કિસ્સાઓમાં એક છે. આપણે હવે નીચે સરકાવો જેથી જો, આ માત્ર છે પછી કેટલાક ભૂલ ચકાસણી, ફક્ત કેસ કંઈક [સાથે ખોટું થયું? જામીન?] એકસાથે અને કાર્યક્રમ છોડી શરૂઆતમાં પરત દ્વારા. આ વાક્ય હવે ફરીથી લખી શકાય છે આ તરીકે, કે જે શું અર્થ? ડાબી બાજુ પર, મને બીજા આપી એક પાત્ર, અને તે ટી કૉલ કરવા માટે પોઇન્ટર. હું આધારિત, ટી ની અંદર શું સ્ટોર છું કોડના આ એક લીટી પર? હું પાંચ આંકડાના US સ્થાન સ્ટોર છું. ખાસ કરીને પાંચ આંકડાના US સ્થાન કે ઓ હતી. વપરાશકર્તા હેલ્લો માં ટાઇપ, અને તેથી જો કે પ્રથમ હેલ્લો અંત થાય છે અહીં, પછી નંબર 123 છે વિચાર માંથી પાછા આવવા જવા સ્ટ્રિંગ અને સંગ્રહિત કરી - અમે અગાઉ કહ્યું હતું કે - ઓ માં. હવે હું માટે બીજી નિર્દેશક જાહેર ત્યારે એક ચાર અને તે કૉલ ટી, નંબર શું છે શાબ્દિક અંત જવા વાર્તા અનુસાર ટી? 123 છે. તેથી ટેકનિકલ હવે ઓ અને બંને ટી ચોક્કસ તરફ ઇશારો છે મેમરી સમાન હિસ્સામાં. તેથી હું હવે કરવા જઇ રહ્યો છું તે વાત નોટિસ આ કાર્યક્રમ બગડેલ છે તે સાબિત. સાથે પ્રથમ હું દાવો કરવા જઇ રહ્યો છું પ્રિન્ટ f, અક્ષરો આ શબ્દમાળાને નકલ. પછી હું થોડા કરવા જઇ રહ્યો છું તપાસ કરવામાં ભૂલ. હું તેની ખાતરી કરવા માટે જઇ રહ્યો છું. ચાલો શબ્દમાળા ટી પર છે તેની ખાતરી ઓછામાં બોલ શૂન્ય કરતાં વધારે, જેથી કેટલાક પાત્ર ત્યાં ત્યાં છે વાસ્તવમાં રોકડી છે. અને પછી તમે આ યાદ શકે છે અગાઉના ઉદાહરણો છે. ઉચ્ચ 2 - છે, જે જો ctype.h ફાઇલ. ટી કૌંસ શૂન્ય મને શૂન્ય આપે છે શબ્દમાળા ટી પાત્ર. કે જ મૂલ્ય ઉપર અને 2, કોર્સ છે, તે મોટા માટે ફેરવે છે. તેથી તર્ક, આ રેખા પ્રકાશિત કોડ પ્રથમ અક્ષરો છે ટી માં પત્ર. પરંતુ તે તર્ક, અક્ષરો નથી ઓ માં પ્રથમ અક્ષર. તમે આગળ વિચારી રહ્યાં છો તો, હું શું છું હું આ કાર્યક્રમ ચલાવો ત્યારે વિશે જોવા માટે અને, મૂળ બંને છાપશે ઓ, અને કહેવાતા નકલ, ટી? તેઓ ખરેખર જ જઈ રહ્યા છો. અને શા માટે તેઓ જ જવું છે? તેઓ પોઇન્ટ રહ્યાં છો બંને બરાબર એ જ વસ્તુ. તેથી આ કરવા માતાનો દો. નકલ શૂન્ય બનાવે છે. તે ઠીક કમ્પાઇલ. મને નકલ શૂન્ય સ્કોર દો. મને હેલો કંઈક લખો દો બધા લોઅરકેસ પછી Enter દબાવો. અને તે એવો દાવો કરે છે કે જે મૂળ ઓ બંને અને ખરેખર નકલ સમાન હોય છે. તેથી શું ખરેખર અહીં થયું? મને આ ચિત્ર માત્ર redraw દો એક વાર્તા કહી થોડી જુદી રીતે. શું ખરેખર નીચે રહ્યું છે હું કંઈક જાહેર ત્યારે હૂડ ચાર પ્રારંભ ઓ, અથવા શબ્દમાળા ઓ, હું એક નિર્દેશક મેળવવામાં છું - જે ચાર બાઇટ્સ હોઈ બને જો CS50 સાધન માં અને કમ્પ્યુટર્સ ઘણો છે. અને હું આ ઓ કૉલ કરવા જઇ રહ્યો છું. અને હાલમાં આ છે કેટલાક અજ્ઞાત મૂલ્ય. જો તમે ચલ જાહેર કરે છે, ત્યારે જ્યાં સુધી તમે પોતાને ત્યાં જે કિંમત મૂકવામાં ત્યાં શું જાણે છે. તે કેટલાક રેન્ડમ સીક્વન્સ હોઈ શકે છે અગાઉના અમલ માંથી બીટ્સ. તેથી હું કોડ મારા લાઇન વિચાર કરે છે ત્યારે સ્ટ્રિંગ, અને પછી વળતર સ્ટોર s માં કિંમત અચાનક શબ્દમાળા વિચાર - અને અમે આખરે વિચાર કેવી રીતે પાછા છાલ પડશે સ્ટ્રિંગ કામ કરે છે, અચાનક એક ફાળવે કદાચ લાગે કે એરે આ જેમ એક બીટ. H-ઇ એલ એલ ઓ, બેકસ્લેશ શૂન્ય. આ સરનામું છે કે જે માતાનો ધારવું દો 123 માત્ર પ્રથમ સુસંગતતા. તેથી માં શબ્દમાળા વળતર વિચાર ત્યાં લીટી પ્રકાશિત, તે આપે છે નંબર અમે 123 જણાવ્યું હતું કે,. તેથી શું ખરેખર અહીં s ની અંદર જાય છે? ઠીક છે, ખરેખર શું જાય છે અંદર s ની 123 છે. પરંતુ પ્રમાણિકપણે, હું થોડું મેળવી રહ્યો છું આ બધા સરનામાં બધા દ્વારા ગેરસમજ, આ મનસ્વી નંબરો બધા. 123, 124, 127. તેથી માતાનો ખરેખર સરળ બનાવવા દો વિશ્વમાં થોડુંક. અમે પ્રમાણિકપણે, પોઇન્ટર વિશે વાત માટે અમને મનુષ્યો, જે હેક જ્યાં ધ્યાન આપતા વસ્તુઓ મેમરી છે? તે સંપૂર્ણપણે મનસ્વી છે. તે કેવી રીતે પર આધાર રાખે રહ્યું ખૂબ વપરાશકર્તા છે RAM. તે જ્યારે દિવસ પર આધાર રાખે રહ્યું તમે કદાચ કાર્યક્રમ ચલાવો, અને શું ઇનપુટ વપરાશકર્તા તમે આપે છે. અમે બિનમહત્વપૂર્ણ વિગતો નિવાસ છો. તેથી ચાલો દૂર અમૂર્ત અને કહે છે કે, તમે આ જેમ કોડ એક વાક્ય ચલાવો ત્યારે, ચાર સ્ટાર ઓ પરત નહીં ગેટ શબ્દમાળા બજારમૂલ્ય. અમે શા માટે તેના સ્થાને માત્ર શું અમે ડ્રો નથી તે છતાં એક નિર્દેશક ફોન રાખવા કંઈક તરફ સંકેત? તેથી હું ઓ હવે દાવો એક નિર્દેશક છે - હૂડ નીચે તે એક સરનામું છે. પરંતુ તે માત્ર પોઇન્ટ છે માં પ્રથમ બાઇટ શબ્દમાળા કે જે પરત કરવામાં આવી છે. હવે હું અહીં કોડ પરત નહિં, તો શું આ વાક્ય પર જઈ રહ્યું છે? ઠીક છે, હવે આ પ્રકાશિત લીટી માં, હું દેખીતી રીતે અન્ય જાહેર છું ટી કહેવાય ચલ. પરંતુ તે પણ એક નિર્દેશક, તેથી હું જાઉં છું ચોક્કસ, સિદ્ધાંત મુજબ, તે ડ્રો સમાન કદ બોક્સ. અને હું તેને ટી ફોન કરવા જઇ રહ્યો છું. અને હવે અમે ફરીથી કોડ માટે પાછા જાઓ તો, હું ટી ઓ અંદર સ્ટોર, જ્યારે હું શું છું તકનીકી ટી ની અંદર મૂકવા? વેલ ટેકનિકલી, આ સંખ્યા 123 હતી. તેથી ખરેખર હું લખવા જોઇએ ત્યાં નંબર 123. પરંતુ માતાનો તે ઊંચા સ્તરે લઇ દો. ટી, તે માત્ર એક નિર્દેશક હોય, તર્ક, માત્ર છે. કે આવી રહી છે કે જે બધી છે ત્યાં સંગ્રહિત. તેથી હવે જો છેલ્લા રસપ્રદ લાઇન કોડ છે, હું ખરેખર વિશે જવા જ્યારે શૂન્ય પાત્ર અક્ષરો ટી માં, શું ચાલે છે? વેલ, ટી કૌંસ શૂન્ય હવે પોઇન્ટ છે શું પાત્ર અનુમાન? તે h, પોઇન્ટ છે. કારણ કે ટી ​​કૌંસ શૂન્ય - યાદ, તો આ જૂના વાક્યરચના છે. ટી કૌંસ ટી, ટી શબ્દમાળા હોય શૂન્ય માત્ર અર્થ એ થાય કૌંસ શૂન્ય શૂન્ય મેળવવામાં અર્થ એ થાય કે તાકાત પાત્ર. ખરેખર અર્થ એ છે કે જેથી શું આ એરે પર જાઓ હોય છે - અને હા, આ 123 હોઈ શકે છે આ 124 હોઈ શકે છે. પરંતુ તે બધા સંબંધિત છે, યાદ કરે છે. એક એરે વિશે વાત ત્યારે, અમે વિશે વાત ફાયદો સંબંધિત સૂચકાંક. અને તેથી હવે અમે માત્ર ધારણ કરી શકે છે કે ટી ​​કૌંસ શૂન્ય કલાક છે. હું તેના પર 2 ઉચ્ચ કૉલ તેથી જો, શું છે ખરેખર અક્ષરો થયેલ છે કરી મોટા એચ માટે લોઅરકેસ-h પરંતુ અલબત્ત, ઓ શું છે? તે જ રફૂ શબ્દમાળાને પોઇન્ટ છે. તેથી આ છે શું થઈ રહ્યું રહ્યું છે કે બધા આ કોડ પણ અત્યાર સુધી. તેથી સૂચિતાર્થ પછી શું? અમે આ બે સમસ્યાઓ કેવી રીતે ઠીક કરું? અમે કેવી રીતે વાસ્તવિક શબ્દમાળાઓ તુલના નથી? વેલ તર્ક, કેવી રીતે કરશે તમે બે સરખામણી વિશે જાઓ સાચું સમાનતા માટે શબ્દમાળાઓ? તે શું અર્થ થાય તો બે શબ્દમાળાઓ સમાન હોય છે? સ્પષ્ટ નથી તેમના સરનામાં છે કે કે નીચા છે, કારણ કે મેમરી સમાન સ્તર અમલીકરણ વિગત. બધા અક્ષરો સમાન હોય છે. તેથી મને પ્રસ્તાવ દો, અને મને પરિચય દો compare.c આવૃત્તિ એક અહીં, જેથી તુલના-1.c. અમે હજુ પણ એક વિચાર છે કે મને પ્રસ્તાવ દો ઓ કહેવાય નિર્દેશક, અને તે સ્ટોર ગેટ શબ્દમાળા બજારમૂલ્ય આવો. ટી સાથે જ વસ્તુ કરવા દો માતાનો. તેથી કોડ કંઈ અલગ છે. હું થોડી ઉમેરવા જઇ રહ્યો છું હવે તપાસ વધુ ભૂલ. તેથી હવે અમે પાછા peeling ઓફ સૉર્ટ કરો છો શું શબ્દમાળાને CS50 આ સ્તરો ખરેખર, આપણે વધુ ગુદા જરૂર ખાતરી કરવા અંગે અમે દુરુપયોગ નથી નલ જેવા અમાન્ય કિંમતો. તેથી હું માત્ર ચેક કરવા જઇ રહ્યો છું. ઓ સમાન નલ નથી અને ટી નહિં થાય સમાન નલ કે, અમે બરાબર કરશો થાય છે. સ્ટ્રિંગ મેળવવામાં અપ સ્ક્રૂ ન હતી કરો ક્યાં તો તે શબ્દમાળાઓ છે. અને તમે કદાચ, હવે ધારી શકે છે શું Str CMP અનુમાન કરવું છે? શબ્દમાળા તુલના. જો તમે પહેલાં જાવામાં કાર્યક્રમ કર્યું તેથી જો, આ માં બરાબર પદ્ધતિ જેવી છે સ્ટ્રિંગ વર્ગ. પરંતુ જેઓ પાસે તમે તે માટે પહેલાં પ્રોગ્રામ, આ માત્ર એક કેચ કાર્ય છે. જો તે આવે થાય છે ફાઈલ string.h કહેવાય છે. તે જાહેર છે કે જ્યાં તે છે. અને શબ્દમાળા સરખામણી કરો - હું ખરેખર તેના વપરાશ ભૂલી, પરંતુ તે દિમાગમાં નથી. અમે શું કરી શકો છો કે જે યાદ માણસ છે, તુલના જગાડવો. અને આ લાવવા ચાલે છે Linux પ્રોગ્રામરો જાતે. અને તે પ્રમાણિકપણે, થોડું વિસ્મૃત છે. પરંતુ હું yep કે, અહીં જોઈ શકો છો. હું string.h સમાવેશ થાય છે. અને તે ", વર્ણન હેઠળ અહીં કહે છે સ્ટ્રિંગ સરખાવો કાર્ય સરખાવે બે શબ્દમાળાઓ S1 અને S2. "અને S1 અને S2 દેખીતી રીતે બે છે દલીલો સાઇન પસાર હું ખરેખર યાદ નથી શું const છે, પરંતુ હવે નોટિસ - જ્યારે અને તમે પહેલાથી જ આ જોઇ હશે તમે મદદ પાનાંઓ ઉપયોગ હોય, તો તમે તે બધા છે - કે ચાર સ્ટાર માત્ર પર્યાય છે શબ્દમાળા સાથે. તેથી તે બે શબ્દમાળાઓ, S1 સરખાવે છે અને S2, અને તેને ઓછી પૂર્ણાંક આપે છે કરતાં અથવા બરાબર અથવા શૂન્ય કરતાં મોટી S1 જોવા મળે છે, તો અનુક્રમે હોઈ કરતાં ઓછી છે, અથવા બંધબેસે છે, અથવા S2 કરતાં વધારે હોય છે. માત્ર કહીને એક ખૂબ જ જટિલ માર્ગ કે શબ્દમાળા વળતર તુલના શૂન્ય બે શબ્દમાળાઓ તર્ક હોય તો માટે સમાન, લક્ષણ પાત્ર માટે પાત્ર. જો તે નકારાત્મક નંબર જો આપે છે ઓ, મૂળાક્ષરોની, માનવામાં આવે છે ટી પહેલાં આવે છે. અથવા હકારાત્મક નંબર જો આપે છે ઓ ટી પછી આવે છે તેવું માનવામાં આવે છે મૂળાક્ષરોની. તેથી આ સરળ કાર્ય સાથે કરી શકે છે તમે, ઉદાહરણ તરીકે, એક સૉર્ટ શબ્દો સમગ્ર ટોળું? તેથી આ નવા વર્ઝનમાં, હું જાઉં છું આગળ વધો અને compare1 બનાવવા માટે. ડોટ સ્લેશ એક તુલના. હું બધા લોઅર કેસમાં હેલ્લો લખી શકશો. હું હેલ્લો માં ટાઇપ કરવા જઇ રહ્યો છું ફરી બધા લોઅરકેસ છે. અને thankfully હવે તે ખબર હું એક જ વસ્તુ લખ્યો. વચ્ચે, તો હું નીચલા માં હેલો ટાઈપ કેસ અને ઉપલા કિસ્સામાં હેલ્લો અને તેમને સરખાવવા માટે, હું લખ્યો અલગ વસ્તુઓ. માત્ર કારણ કે સરનામાં છે અલગ છે, પરંતુ અમે સરખામણી કરી રહ્યા છીએ ફરીથી અને ફરીથી અલગ અક્ષરો. વેલ એક જાઓ અને ઠીક દો હવે અન્ય સમસ્યા નથી. મને આવૃત્તિ એક ખોલો દો હવે સંબોધે છે કે જે નકલ, આ મુદ્દાને તરીકે અનુસરે છે. અને આ એક જોવા જઈ રહ્યું છે થોડી વધુ જટિલ. પરંતુ તમે શું સમસ્યા વિશે વિચારો તો અમે ઉકેલવા માટે જરૂર છે, આશા છે આ હશે હવે માત્ર એક ક્ષણ સાફ કરો. તેથી આ પ્રથમ વાક્ય, ચાર શરૂઆત ટી માં જનસાધારણ ના નિયમો કોઈને પ્રસ્તાવ કરી શકે છે આ વાક્ય અહીં શું અર્થ? ચાર સ્ટાર ટી, કરી કે શું છે? ગુડ. કેટલાક પોઇન્ટર બનાવો મેમરી હાજર. અને મને તે થોડુંક રિફાઇન દો. આ સંગ્રહ કરશે કે ચલ જાહેર મેમરી કેટલાક ચાર ઓફ સરનામું, માત્ર થોડી વધુ યોગ્ય છે. ઠીક છે, તેથી હવે જમણી બાજુ પર, હું કર્યું આ વિધેયોને એક ક્યારેય ન જોઈ પહેલાં, malloc. પરંતુ તે શું અર્થ શકે? મેમરી ફાળવણી. મેમરી ફાળવણી. તેથી તે અમે, હવે ત્યાં સુધી, બહાર વળે ખરેખર એક શક્તિશાળી માર્ગ થયું નથી ઓપરેટિંગ સિસ્ટમ પૂછવા, મને અમુક મેમરી આપે છે. તેના બદલે, આપણે હવે કહેવાય વિધેય હોય છે બરાબર છે કે જે કરે છે malloc. આ એક બીટ છે, તેમ છતાં વિક્ષેપ હમણાં, નોટિસ કે બે કૌંસ વચ્ચે હોય છે માત્ર એક નંબર હોઈ ચાલે. હું પ્રશ્ન માં ટાઇપ કર્યું છે ગુણ એક નંબર હોઈ શકે છે. અને તે નંબર, એનો અર્થ એ થાય મને 10 બાઇટ્સ આપે છે. મને 20 બાઇટ્સ આપો. મને 100 બાઇટ્સ આપો. અને malloc તેના શ્રેષ્ઠ કરશે ઓપરેટિંગ સિસ્ટમ પૂછો - આ કિસ્સામાં Linux એ - અરે, તેમના 100 બાઇટ્સ છે ઉપલબ્ધ ની RAM? જો એમ હોય તો, મને તે બાઇટ્સ પાછા જે ના સરનામા પરત કદાચ તે બાઇટ્સ,? એક ખૂબ પ્રથમ. તેથી અહીં પણ છે - અને આ મુખ્ય છે સી, તમે કરશો કોઇ સમય સરનામાંઓ સાથે વ્યવહાર? તમે લગભગ હંમેશા સાથે વ્યવહાર કરી રહ્યા છો પ્રથમ જેમ કે સરનામું, કોઈ બાબત કેવી રીતે મોટા તમે આવે મેમરી એક ચંકને તેથી વાત કરવા માટે, પાછળ આપ્યો. તેથી ચાલો અહીં ડાઇવ. હું કેવી રીતે ફાળવવા માટે પ્રયાસ કરું છું ઘણા બાઇટ્સ, બરાબર? વેલ. S ની શબ્દમાળા લંબાઈ - લેટ્સ કોંક્રિટ ઉદાહરણ નથી. ઓ હેલ્લો છે, H-ઇ એલ એલ ઓ, એ શું છે s ની શબ્દમાળા લંબાઈ, દેખીતી રીતે? તેથી તે પાંચ છે. પરંતુ મને શા માટે છે કે જે પર વત્તા 1 કરું છું? શા માટે મારે છ બાઇટ્સ માંગો છો તેના બદલે પાંચ? આ નલ પાત્ર. હું આ છોડી કરવા નહિં માંગો ખાસ નલ પાત્ર. કારણ કે હું હેલો એક નકલ કરો અને જો માત્ર H-ઇ એલ એલ ઓ કરવું, પરંતુ હું મૂકી નથી કે વિશિષ્ટ અક્ષર કમ્પ્યુટર તક, એક બેકસ્લેશ દ્વારા, નહીં હોય મારા માટે ત્યાં શૂન્ય. અને તેથી હું બહાર આકૃતિ કરવાનો પ્રયાસ કરી રહ્યો છું તો નકલ લંબાઈ, મને લાગે છે કે કદાચ તે 20 અક્ષરો લાંબો છે, અથવા એક મિલિયન હું માત્ર થાય છે ક્યારેય જો લાંબા અક્ષરો એક બેકસ્લેશ શૂન્ય હિટ. તેથી અમે છ બાઇટ્સ સંગ્રહ કરવાની જરૂર છે H-ઇ એલ એલ ઓ, બેકસ્લેશ શૂન્ય. અને તે પછી આ માત્ર છે સુપર ગુદા છે. હું ભૂલી કે જે ધારવું શું એક ચાર નું માપ છે. અમે તે એક બાઇટ કહીને રાખો. અને તે સામાન્ય રીતે હોય છે. સિદ્ધાંત, તે કંઈક હોઈ શકે છે અલગ મેક કે પર અલગ અલગ વિવિધ પીસી. આ ઓપરેટર ત્યાં બહાર તેથી તે વળે sizeof કહેવાય છે કે તમે તેને પસાર જો ડેટા પ્રકાર નામ - જેમ ચાર, અથવા Int, અથવા ફ્લોટ - તે કેવી રીતે ઘણા ગતિશીલ, તમને જણાવશે બાઇટ્સ એક ચાર આ પર લઈ જાય છે ખાસ કોમ્પ્યુટર. તેથી આ અસરકારક રીતે માત્ર છે વખત 1 અથવા કહીને જેવી બધા વખત કશું. પરંતુ હું માત્ર સુપર ગુદા હોઈ તે શું કરી રહ્યો છું માત્ર કેસ એક ચાર અલગ પડે છે કે તમારા કમ્પ્યુટર વિરુદ્ધ ખાણ છે, આ માર્ગ પર ગણિત હંમેશા તપાસો ચાલે છે. છેલ્લે, નીચે અહીં હું નલ માટે તપાસો જે હંમેશા સારો અભ્યાસ છે - ફરીથી, અમે પોઇન્ટર સાથે વ્યવહાર કરી રહ્યા છો કોઈ પણ સમયે. Malloc આપવા માટે સક્ષમ ન હોય તો મને છ બાય - છે, જે અશક્ય છે, પરંતુ માત્ર કેસ - તરત જ એક આવો. અને હવે, આગળ વધો અને નકલ શબ્દમાળા તરીકે અનુસરે છે. અને આ પરિચિત વાક્યરચના છે એક અલગ ભૂમિકા યદ્યપિ. હું આગળ જાઓ અને શબ્દમાળા મેળવવા માટે જઇ રહ્યો છું s ની લંબાઈ અને એ તે સંગ્રહ કરે છે. હું પછી હું બરાબર થી ફરી વળવું જઈ રહ્યો , અને એ પણ સમાવેશ થાય છે અપ શૂન્ય એક કરતાં વધારે અથવા બરાબર. દરેક ઇટરેશન પર, હું મૂકી કે જેથી જો ઇથ S ના ઇથ પાત્ર ટી પાત્ર. તેથી શું ખરેખર નીચે રહ્યું છે અહીં હૂડ? વેલ આ તો, હમણાં પૂરતું, ઓ છે - અને હું શબ્દ H-ઇ એલ એલ ઓ માં ટાઇપ કરેલ છે અને એક બેકસ્લેશ શૂન્ય છે. અને ફરીથી, આ ઓ અહીં પોઇન્ટ છે. અને અહીં હવે ટી છે. અને આ માટે હવે પોઇન્ટ છે મેમરી નકલ, બરાબર ને? Malloc મને સમગ્ર આપવામાં આવે છે મેમરી ચંકને. હું ચોક્કો શરૂઆતમાં શું ખબર નથી આ સ્થાનોને કોઇપણ. તેથી હું આ તરીકે વિચાર કરવા જઇ રહ્યો છું પ્રશ્ન ગુણ સમગ્ર ટોળું. પરંતુ જલદી હું શરૂ તરીકે શૂન્ય માંથી નથીં ઓ, ટી લંબાઈ દ્વારા અપ પર કૌંસ શૂન્ય અને ટી કૌંસ 1 - અને હવે હું આ મૂકીશું ઓવરહેડ પર - ટી કૌંસ શૂન્ય અને ઓ કૌંસ શૂન્ય અર્થ હું નકલ કરી જઇ રહ્યો છુ કે અહીં iteratively-h, ઇ એલ એલ ઓ. પ્લસ હું વત્તા હતી કારણ કે 1, બેકસ્લેશ શૂન્ય. તેથી હવે તુલના-1.c કિસ્સામાં, અંતે, હું છાપે જો ટી કેપીટલાયસેશન, અમે જોઇએ ઓ યથાવત છે જુઓ. મને હવે આગળ વધો અને આ કરવા દો. તેથી copy1 બનાવે છે. ડોટ સ્લેશ copy1. હું હેલ્લો, કંપની ટાઈપ કરવા જઇ રહ્યો છું. અને હવે, માત્ર નકલ નોટિસ ખર્ચ કરવામાં આવ્યો છે. હું સાચી છે, કારણ કે બે મેમરી હિસ્સામાં. કમનસીબે, તમે કેટલાક ખૂબ કરી શકો છો અહીં ખરાબ અને ખૂબ જોખમી વસ્તુઓ. મને હવે અહીં એક ઉદાહરણ અપ ખેંચવાનો દો, કે અમને થોડા ઉદાહરણ આપે છે વિવિધ રેખાઓ. તેથી માત્ર તર્ક, અહીં પ્રથમ વાક્ય કોડ છે, Int સ્ટાર એક્સ, જાહેર થયેલ છે X નામની એક ચલ. અને ડેટા પ્રકાર શું છે કે ચલની? કે ચલની માહિતી પ્રકાર શું છે? કે ક્લિફહેન્ગર ન હતી. ડેટા પ્રકાર ઈન્ સ્ટાર છે. કે જેથી શું અર્થ છે? X ચાલશે એક ઈન્ ની સરનામા સંગ્રહ કરે છે. કે સરળ. વાય સ્ટોર ચાલે છે એક ઈન્ ની સરનામું. ત્રીજી લાઇન શું છે કોડ ઓફ ત્યાં કરવાનું? તે ફાળવણી કેવી રીતે ઘણા બાઇટ્સ, મોટા ભાગે? ચાર. કારણ કે એક ઈન્ કદ છે સામાન્ય રીતે ચાર, ચાર malloc આપે છે મને એક ભાગ ના સરનામા બેક મેમરી, જેની બાઇટ્સ પ્રથમ છે X હવે સંગ્રહિત. હવે અમે ઝડપથી થોડી ખસેડીએ છીએ. સ્ટાર એક્સ શું અર્થ? તે કે સરનામા પર જાઓ અર્થ એ થાય અને શું ત્યાં નંબર મૂકી? આ નંબર ત્યાં 42 મૂકો. નક્ષત્ર વાય વાય અંતે શું પર જાઓ અર્થ એ થાય અને ત્યાં નંબર 13 મૂકો. પરંતુ એક મિનિટ રાહ જુઓ. આ ક્ષણે વાય શું છે? શું સરનામા વાય સંગ્રહવા છે? અમે અધિકાર, ખબર નથી? અમે એકવાર સોંપણી ઉપયોગ ક્યારેય છે વાય સંડોવતા ઓપરેટર. તેથી વાય તરીકે બીજા વાક્ય પર જાહેર કોડ માત્ર કેટલાક કચરો કિંમત છે, એક મોટી છે પ્રશ્ન ચિહ્ન તેથી વાત કરવા માટે. તે રેન્ડમ પોઇન્ટ કરી શકાય છે મેમરી કંઈપણ કરવા માટે, જે સામાન્ય રીતે ખરાબ છે. તેથી તરત અમે ત્યાં તે લીટી હિટ તરીકે તારો વાય, કંઇક ખરાબ 13 બરાબર ખૂબ ખરાબ કંઈક વિશે છે Binky થાય છે. તેથી અંત રહ્યું છે તે જોવા ચાલો આ મિનિટ અહીં Binky માટે રહ્યું અથવા તેથી જુઓ. [વિડિઓ પ્લેબેક] -અરે, Binky. અપ વેક. તે નિર્દેશક આનંદ માટે સમય છે. -શું કે છે? પોઇન્ટર વિશે જાણો! ઓહ, ગુડી. -ઠીક છે, પ્રારંભ કરવા માટે, અમે ધારી છો એક દંપતિ પોઇન્ટર જરૂર જવાનું. -ઠીક. આ કોડ બે પોઇન્ટર ફાળવે જે પૂર્ણાંકો માટે નિર્દેશ કરી શકો છો. -ઠીક, એ જ રીતે, હું બે પોઇન્ટર જુઓ. પરંતુ તેઓ હોઈ લાગતું નથી ખાવા માટે પોઇન્ટ. -તે બરાબર છે. શરૂઆતમાં, પોઇન્ટર નથી ખાવા માટે નિર્દેશ. તેઓ બિંદુ વસ્તુઓ કહેવામાં આવે છે pointees, અને તેમને સુયોજિત છે અલગ પગલું. ઓહ, અધિકાર, અધિકાર. હું જાણતા હતા કે. આ pointees અલગ હોય છે. તેથી તમે કેવી રીતે એક pointee ફાળવી શકું? -ઠીક. વેલ, આ કોડ નવી પૂર્ણાંકો ફાળવે pointee, અને આ ભાગ X સુયોજિત કરે છે તે નિર્દેશ કરવા માટે. -હેય, વધુ સારી દેખાય છે. તેથી તે કંઈક બનાવે છે. -ઠીક. હું ખોટો સંદર્ભ પોઇન્ટર X સંગ્રહવા માટે પડશે તેના pointee માં નંબર 42. આ યુક્તિ માટે, હું મારી જાદુ જરૂર પડશે dereferencing ઓફ લાકડી. Dereferencing ઓફ તમારી જાદુ જાદુઈ લાકડી? ઉહ, કે જે મહાન છે. -આ કોડ જેવી દેખાય છે. હું માત્ર નંબર સેટ, અને કરીશું - -હેય, જુઓ. તેને ત્યાં જાય છે. તેથી X નીચે પર ખોટો સંદર્ભ કરી તેના pointee ઍક્સેસ કરવા માટે તીર. આ કિસ્સામાં, ત્યાં 42 સંગ્રહવા માટે. અરે, આ નંબર સ્ટોર કરવા માટે તેનો ઉપયોગ કરવાનો પ્રયાસ કરો અન્ય નિર્દેશક દ્વારા 13, વાય. -ઠીક. હું માત્ર વાય માટે અહીં પર જાઓ અને પડશે સંખ્યા 13 સુયોજિત કરો. અને પછી એ લાકડી લઇ dereferencing અને માત્ર - થોભો! ઓહ, હેય. જો તે કામ ન હતી. Binky કહે છે, હું નથી લાગતું નથી વાય dereferencing, એક સારો વિચાર છે જો pointee સુયોજિત કારણ કે અલગ પગલું છે. અને હું અમે ક્યારેય હતી લાગતું નથી. -હમ્મ. બિંદુ ગુડ. -યાહ, અમે નિર્દેશક વાય ફાળવવામાં. પરંતુ અમે તેને ક્યારેય સેટ એક pointee માટે નિર્દેશ. -હમ્મ. ખૂબ સચેત. -અરે, તમે શોધી રહ્યા છો ત્યાં સારા, Binky. તમે વાય પોઇન્ટ કે જેથી તે ઠીક કરી શકે છે X તરીકે જ pointee માટે? -શ્યોર. હું મારા જાદુ જાદુઈ લાકડી ઉપયોગ કરશો નિર્દેશક સોંપણી. -IS કે હોઈ ચાલે પહેલાં જેવી સમસ્યા? -નહીં. આ pointees સ્પર્શ નથી. તે માત્ર નિર્દેશ કરવા માટે એક નિર્દેશક બદલે અન્ય તરીકે જ વસ્તુ છે. ઓહ, હું જુઓ. X તરીકે જ જગ્યાએ હવે વાય નિર્દેશ કરે છે. તેથી રાહ જુઓ. હવે વાય સુધારેલ છે. જો તે pointee છે. તેથી તમે લાકડી પ્રયાસ કરી શકો છો ફરી dereferencing ઓફ ઉપર 13 મોકલવા માટે. -ઠીક. અહીં જાય છે. -હેય, કે જુઓ. હવે વાય પર કામ કરે છે dereferencing. અને પોઇન્ટર શેર કરી રહ્યાં છે કારણ કે કે એક pointee, તેઓ બંને 13 જુઓ. -યાહ. શેરિંગ. ગમે. તેથી અમે હવે સ્વીચ સ્થળોએ જતા હોય છે? ઓહ, લાગે છે. અમે સમય નથી. -પરંતુ - ફક્ત ત્રણ યાદ નિર્દેશક નિયમો. સંખ્યા એક, મૂળભૂત માળખું જો તમે નિર્દેશક હોય છે. અને જો તે pointee પર નિર્દેશ કરે છે. પરંતુ નિર્દેશક અને pointee અલગ હોય છે. અને સામાન્ય ભૂલ છે એક નિર્દેશક સુયોજિત છે, પરંતુ આ એક pointee આપવામાં ભૂલી. નંબર બે, નિર્દેશક dereferencing શરૂ થાય છે આ નિર્દેશક અને નીચે તેના તીર પર તેના pointee ઍક્સેસ કરવા માટે. આપણે બધા જાણીએ, આ માત્ર કામ કરે છે જો ત્યાં પર કોઈ રન નોંધાયો જે pointee છે, નંબર એક શાસન. સંખ્યા ત્રણ, નિર્દેશક સોંપણી લે છે એક નિર્દેશક અને ફેરફારો કરવા માટે નિર્દેશ કરવા માટે અન્ય નિર્દેશક તરીકે જ pointee. તેથી સોંપણી પછી, બે પોઇન્ટર ચાલશે એ જ pointee માટે નિર્દેશ. ક્યારેક કે શેરિંગ કહેવાય છે. અને તે ખરેખર છે, તે ત્યાં છે બધા છે. હવે બાય બાય. [END વિડિઓ પ્લેબેક] DAVID MALAN: પોઇન્ટર પર તેથી વધુ, Binky આગામી સપ્તાહ પર વધુ. અમે સોમવાર પર તમે જોશો.