[સંગીત વગાડવાનો] ડેવિડ જે MALAN: બધા અધિકાર. આ CS50 છે, અને આ અઠવાડિયું 2 ઓવરને છે. તેથી આજે, અમે જઈ રહ્યાં છો અમારા દેખાવ ચાલુ રાખવા માટે અમે વસ્તુઓ પ્રતિનિધિત્વ કેવી રીતે આ hood-- દૂર ખસેડવાની નીચે પૂર્ણાંકો જેવા નંબરો થી અને બિંદુ કિંમતો ફ્લોટિંગ અને શબ્દમાળાઓ પર ધ્યાન કેન્દ્રિત અને આખરે વધુ રસપ્રદ કાર્યક્રમો. પરંતુ અમે પણ એક પર એક નજર પડશે ડોમેન ચોક્કસ problems-- દંપતિ પ્રથમ કરશે જે ક્રિપ્ટોગ્રાફી સમાવેશ હોય છે, માહિતી મૂંઝાયેલું ના કલા, જેમાં તમે અહીં ઉપર જુઓ રેડિયો ઓરફામ એની એક ચિત્ર છે yesteryear ના ગુપ્ત ડીકોડર રિંગ. આ વાસ્તવમાં ખૂબ આદિમ સ્વરૂપ છે અને cryptopgraphy ના બાળક મૈત્રીપૂર્ણ ફોર્મ આ રિંગ બે disks-- છે જેમાં એક અંદર અને એક બહાર. અને દ્વારા, એક તે તમે કરી શકો છો ફરતી અનિવાર્યપણે એક જેવા અક્ષરો અપ લાઇન અન્ય અક્ષરો સાથે Z મારફતે અન્ય શબ્દોમાં એ દ્વારા બી જેમ, તમે શાબ્દિક મૂળાક્ષર ફેરવવા કરી શકો છો, ત્યાં એક મેપિંગ માંથી સાથે આવી અક્ષરો પત્રો કે, તેથી જો તમે એક ગુપ્ત સંદેશ મોકલવા માગતા હતા એની જેમ કોઈને માટે, તમે લખી શકે છે પછી ફેરવવા અને તમારા સંદેશ નીચે અક્ષરો, જેમાં, તમે અર્થ જો તમે તેના બદલે કહે, "એ" કહે છે "બી" તમે કહે છે તેનો અર્થ "બી" તમે તેના બદલે "સી" કહે છે - અથવા કંઈક થોડી વધુ હોંશિયાર તેનો કરતાં અને પછી, છેવટે, જેથી લાંબા એની આ ડીકોડર છે તરીકે રિંગ, તે સંદેશ ડિકોડ કરી શકો છો. હવે, તમે, હકીકતમાં, યાદ આ કે શકે છે એક ખૂબ જ પ્રખ્યાત ફિલ્મ ઉપયોગમાં લેવાયો હતો તે દરમિયાન જાહેરાત nauseum ભજવે ક્રિસમસ સીઝન. અહીં એક નજર. Ralphie PARKER: "તે રહો સાર બધા માટે જાણીતું રાલ્ફ પાર્કર આથી નિમણૂક કરવામાં આવે છે કે લિટલ ઓરફામ એની સિક્રેટ સભ્ય સર્કલ અને તમામ માટે હકદાર છે સન્માન અને લાભો ઠેકાણે આવી. " Ralphie PARKER (કથા): લિટલ ઓરફામ એની સાઇન ઇન. સામી, પિયર આન્દ્રે! શાહી માં. ઓનર્સ અને લાભો, પહેલેથી જ નવ વર્ષની ઉંમરે. [સંગીત વગાડવાનો] [રેડિયો પપડાટ] Ralphie PARKER: પર આવે છે. ચાલો તે સાથે વિચાર કરીએ. હું તે બધા જાઝ જરૂર નથી દાણચોરો અને ચાંચિયાઓને વિશે. રેડિયો ઉદ્ઘોષક: કાલે સાંભળો અંતિમ સાહસ માટે રાત ધ બ્લેક પાઇરેટ શિપ ઓફ. હવે, તે સમય એની માટે છે તમે સભ્યો માટે ગુપ્ત સંદેશ ગુપ્ત વર્તુળ છે. બાળકો, માત્ર સભ્યો યાદ રાખો એની સિક્રેટ સર્કલ ઓફ એની ગુપ્ત સંદેશ ડિકોડ કરી શકો છો. યાદ રાખો, તમે એની પર આધાર રાખીને છે. બી 2 માટે તમારા પિન સુયોજિત કરો. અહીં છે આ સંદેશ 12, 11, 2-- Ralphie PARKER (કથા): હું મારી પ્રથમ ગુપ્ત બેઠક છું. રેડિયો ઉદ્ઘોષક: --25, 14, 11, 18, 16 Ralphie PARKER (કથા): ઓહ, પિયર મહાન અવાજ આજની રાત કે સાંજ હતી. હું આજની રાત કે સાંજ માતાનો કહી શકે સંદેશ ખરેખર મહત્વનું હતું. રેડિયો ઉદ્ઘોષક: --3, 25. કે એની પોતાની જાતને એક સંદેશ છે. કોઈને કહેવું નથી, યાદ રાખો. [Panting] Ralphie PARKER (કથા): નેવું સેકન્ડ પછી, હું છું આ એક માત્ર રૂમમાં ઘર જ્યાં નવ એક છોકરો ગોપનીયતા અને લિપિને ઉકેલવાના બેસીને શકે છે. આહ. "બી" [Chuckles] Ralphie PARKER (કથા): હું આગામી ગયા હતા. "ઇ" પ્રથમ શબ્દ "તરીકે છે." હા! તે હવે સરળ આવી. "યુ" [Chuckles] રેન્ડી PARKER: અરે, Ralphie પર આવે છે. હું જવા જેમના! Ralphie PARKER: હું અધિકાર નીચે મા હશો. જી બુદ્ધિમાન. "ટી" "ઓ" "ખાતરી કરો છે. "શું" ખાતરી કરો "? લિટલ ઓરફામ એની શું હતો કહે છે પ્રયાસ કરી? શું "ખાતરી કરો"? માતા: Ralphie, રેન્ડી પર જાઓ મળ્યું છે. તમે બહાર આવે તો કૃપા કરીને કરશે? Ralphie PARKER: બધા અધિકાર, મોમ! હું અધિકાર બહાર રહેશો! Ralphie PARKER (કથા): હું નજીક હવે મેળવવામાં આવી હતી. આ તણાવ ભયંકર હતી. તે શું હતું? ગ્રહ ભાવિ સંતુલન માં અટકી શકે છે. માતા: Ralphie, રેન્ડી પર જાઓ મળ્યું! Ralphie PARKER: હું અધિકાર હશો બહાર, મોટેથી રડતી માટે! Ralphie PARKER (કથા): લગભગ ત્યાં! મારી આંગળીઓ ઉડાન ભરી! મારા મન એક સ્ટીલ છટકું હતું. દરેક છિદ્ર વાઇબ્રેટેડ. તે લગભગ સ્પષ્ટ હતી! હા! હા! હા! હા! Ralphie PARKER: "ખાતરી કરો તમારા Ovaltine પીવા માટે. " Ovaltine? એક તુચ્છ વાણિજ્યિક? [સંગીત વગાડવાનો] Ralphie PARKER: એક કૂતરી પુત્ર. [હાસ્ય] ડેવિડ જે MALAN: તે પછી છે તેથી શું ક્રિપ્ટોગ્રાફી પર એક ઝલક this-- એક માટે કરી શકાય છે yesteryear ના લો. તેથી ઝડપી જાહેરાત. તમે આ મફત છે, તો શુક્રવારે 1:15 PM પર પોસ્ટેડ અને કરશે CS50 માટે અમને જોડાવા માંગો બપોરના, અહીં આ URL માટે વડા. પ્રથમ પ્રથમ સામાન્ય તરીકે સેવા, આવે છે. પરંતુ સમય જતાં, અમે ખાતરી કરો કે પડશે ભાગ લેવા માંગો છો જે સૌથી કોઈને સુનિશ્ચિત મુજબના શકે છે. તેથી શબ્દમાળાઓ. અમે Zamyla-- જેની છે તમે હવે મોટા ભાગે મળ્યા છે સમસ્યા સેટ માં 1-- જેના નામ આમ જોડણી છે. અને તમે તેના નામને ટાઇપ ધારવું છે કે કમ્પ્યુટર પ્રોગ્રામમાં GetString કંઈક મદદથી. મેળવવા માટે ક્રમમાં તે કીસ્ટ્રોક, કેવી રીતે અમે રજૂ વિશે જાઓ છો શબ્દમાળા, એક શબ્દ, એક ફકરો, અથવા આ અહીં જેવા બહુવિધ અક્ષરો? અમે વિશે છેલ્લા સમય વાત પૂર્ણાંકો અને સમસ્યાઓ કે પૂર્ણાંક ઓવરફ્લો સાથે પેદા થાય છે અને બિંદુ કિંમતો ફ્લોટિંગ અને સમસ્યાઓ કે ચોકસાઇ અંદર પેદા થાય છે. શબ્દમાળાઓ સાથે, અમે ઓછામાં ઓછા થોડી વધુ ફ્લેક્સિબિલિટી હોય છે strings-- કારણ કે માત્ર વાસ્તવિક વિશ્વ માં એક સુંદર મનસ્વી લંબાઈ હોઈ શકે છે. સુંદર ટૂંકા, ખૂબ લાંબા. પણ પછી, અમે જઈ રહ્યાં છો શોધવા કમ્પ્યુટર્સ ક્યારેક કરી શકો છો કે મેમરી બહાર અને પણ ચાલે મોટા પૂરતી શબ્દમાળા સ્ટોર કરે છે. પરંતુ હવે માટે, ચાલો વિઝ્યુઅલાઈઝ શરૂ કરો આ બોક્સ માં કંઈક તરીકે શબ્દમાળા અહીં. તેથી છ જેમ કે બોક્સ, જે દરેક એક અક્ષર અથવા રજૂ "ચાર." C-ક અ r-- છે - તેથી "ચાર" કે યાદ સી માં આંતરિક ડેટા પ્રકારો એક અને શું સારું છે તમે ઉપયોગ કરી શકો છો કે પ્રકારની એક મકાન બ્લોક તરીકે, એક પઝલ ભાગ, તમે કરશે જો, એક રચના અમે ચાલુ રાખીશું કે માહિતી મોટા પ્રકાર એક "શબ્દમાળા." કૉલ હવે, શું વિચારી વિશે ઉપયોગી છે આ રીતે શબ્દમાળાઓ જેવી વસ્તુઓ વિશે શું? ઠીક છે, તે અમે કરી શકો છો કે જે બહાર કરે છે ખરેખર આ માળખું લાભ ખરેખર વ્યક્તિગત અક્ષરો ઍક્સેસ કરવા માટે એક ખૂબ સરળ રીતે. હું આગળ જાઓ અને બનાવવા જઈ રહ્યો છું તરીકે ઓળખાતી ફાઈલ "stringzero.c" તમે ઇચ્છો ગમે પરંતુ તમે તેને કૉલ કરી શકો છો. અને કોર્સ વેબસાઇટ પર છે પહેલેથી અગાઉથી આ ઉદાહરણ, જેથી તમે કરવાની જરૂર નથી બધું બહાર લખો. અને હું આગળ જાઓ જાઉં છું અને પ્રથમ પૂર્ણાંક મુખ્ય રદબાતલ કરી. અને થોડા દિવસની અંદર, અમે સિવાય પીંજવું શરૂ કરી શકશો તે શા માટે છે તે રદબાતલ છે, અહીં છે મુખ્ય માટે આગામી, અને તેથી આગળ પૂર્ણાંક. પરંતુ હવે માટે, ચાલો ચાલુ દો નકલ કરવા માટે કે પેસ્ટ કરો. હું ઓ કહેવાય શબ્દમાળા જાહેર જાઉં છું. અને હું માંથી પાછા જઈ રહ્યો છું માં ગમે વપરાશકર્તા પ્રકારો GetString. આ એક સરળ હોઈ ચાલે છે કાર્યક્રમ આ બોલ પર કોઈ સૂચનો, હું માત્ર અકારણ જાઉં છું વપરાશકર્તા જાણે કે અપેક્ષા શું તે સરળ રાખવા માટે શું કરવું. અને હવે હું લૂપ માટે હોય જાઉં છું. અને મારા માટે લૂપ અંદર હું છું હું શૂન્ય નહીં પૂર્ણાંક છે જવું. અને હું, ફરી, માત્ર એક પરંપરા છે ગણતરી માટે ઇન્ડેક્સ ચલ, પરંતુ હું જે કરવા માંગો છો આ કહી શકે છે. હું સારી રીતે than-- ઓછી છે કરવા જાઉં છું Zamyla નામ છ અક્ષરો લાંબો છે. તેથી હું હાર્ડ જાઉં છું હવે ત્યાં કોડ છે. અને પછી હું ++. અને હવે આ સર્પાકાર ની અંદર કૌંસ હું printf કરવા જાઉં છું અને હું એક પ્રિન્ટ માંગો છો એક સમયે પાત્ર. તેથી હું% C નો ઉપયોગ કરવા જઇ રહ્યો છું કદાચ પ્રથમ વખત. અને પછી હું દરેક પ્રિન્ટ માંગો છો તેની પોતાની લીટી પર પાત્ર. તેથી હું મૂકી જાઉં છું થોડી બેકસ્લેશ n એ ત્યાં. બંધ કરો ભાવ. અને હવે હું અહીં કંઈક કરવા માંગો છો. હું પ્રિન્ટ માંગો છો શબ્દમાળા માં ચોક્કસ અક્ષર, ઓ, હું વારો છું તરીકે છ સુધી પર શૂન્ય છે. અન્ય શબ્દોમાં, હું કરવા માંગો છો ઓ ના i'th અક્ષર છાપો. હવે હું આ કેવી રીતે કરી શકો છો? વેલ ખૂબ બોક્સ જેમ અહીં આ રજૂઆત, પ્રકારની, બોક્સિંગ ની કલ્પના નજરબંધી કરવી માં અક્ષરો, તમે જ કરી શકો છો વાક્યરચના અનુસાર ફક્ત સ્પષ્ટ કરીને સી, હું પાત્ર i'th ઓ માતાનો પ્રિન્ટ માંગો છો. ચોરસ કૌંસ મદદથી તમારા કમ્પ્યુટરની કીબોર્ડ પર એક યુએસ કીબોર્ડ પર હોય છે સામાન્ય રીતે તમારી પરત ફરવા માટેની કી ઉપર. તેથી આ તદ્દન યોગ્ય નથી હજુ સુધી, તમે સૂચન કર્યું છે, કારણ કે. પરંતુ હું પ્રકારની જાઉં છું અકારણ અહીં આગળ બનાવટ. અને હું શબ્દમાળા 0 બનાવવા કરવા જઇ રહ્યો છું. હું આ કરવા પરંતુ તે પહેલાં, ચાલો તે જોવા દો અમે કેટલાક સામાન્ય ભૂલો અપેક્ષા કરી શકો છો. આ કમ્પાઇલ રહ્યા છે? ના, હું વસ્તુઓ સંપૂર્ણ જથ્થો ગુમ છું. પુસ્તકાલયો હું સાંભળ્યું. તેથી ફાઈલો હેડર જે હું અહીં ઍડ કરવા માંગો છો શકે છે? અરે વાહ. પ્રેક્ષક: તમે જરૂર પ્રમાણભૂત I / O [અશ્રાવ્ય] ડેવિડ જે MALAN: ઉત્તમ. તેથી હું પ્રમાણભૂત I / O જરૂર છે. માટે શું હેતુ હું ધોરણ I / O માંગો છો? Printf માટે. તેથી stdio.h સમાવેશ થાય છે. અને તમે પણ હું સમાવેશ થાય છે કે પ્રસ્તાવ શું કારણ માટે CS50 પુસ્તકાલય? શબ્દમાળાઓ હોય. તેથી અમે જોશો શું CS50 પુસ્તકાલય કરી છે શબ્દમાળા આ ખ્યાલ બનાવવા માટે. પરંતુ હવે માટે, તમે માત્ર વિચાર કરી શકો છો તે એક વાસ્તવિક માહિતી પ્રકાર છે. જેથી થોડી સાફ કરી રહ્યું છે. અને હવે હું આગળ જાઓ જાઉં છું અને ખરેખર શબ્દમાળા 0 બનાવવા નથી. સંકલિત. જેથી સારી છે. તેથી તેથી અમે કરી શકો છો ઝૂમ મને દો ./string0 વધુ નજીકથી શું થઈ રહ્યું છે તે જુઓ. દાખલ કરો. ઝેડ એ એમ વાય એલ એક દાખલ કરો. અને અમે Zamyla નામ છપાયેલ છે. જેથી ખૂબ સારી છે. તેથી હવે આપણે આગળ જાઓ અને ફરીથી આ કાર્યક્રમ ચલાવવા માટે, અને Daven સંપૂર્ણ નામ લખો. આશ્ચર્ય, આશ્ચર્ય. દાખલ કરો. હમ્મ. અમે Daven માતાનો મુદ્રિત નથી યોગ્ય રીતે સંપૂર્ણ પ્રથમ નામ. હવે આ માં સ્પષ્ટ હોવી જોઈએ કારણ કે તે ભૂતકાળમાં, જેવું, મૂર્ખ ડિઝાઇન નિર્ણય? અરે વાહ, હું હાર્ડ કોડેડ આ મારા લૂપ માટે છ અંદર. હવે હું કર્યું છે કે માત્ર કારણ કે હું Zamyla નામ જાણતા હતા છ અક્ષરો પ્રયત્ન થઇ રહ્યા હતા. પરંતુ મક્કમતાપૂર્વક આ નથી એક સામાન્ય ઉકેલ. તે તારણ તેથી અમે ગતિશીલ કરી શકો છો એક શબ્દમાળા લંબાઈ આકૃતિ strlen કહેવાય કાર્ય ફોન દ્વારા. ફરીથી, ઇરાદાપૂર્વક સંક્ષિપ્તમાં માત્ર નામ આપવામાં આવ્યું લખો તે વધુ અનુકૂળ બનાવવા માટે. પરંતુ તે પર્યાય છે એક શબ્દમાળા લંબાઈ રહ્યો. હું મારા ટર્મિનલ માં પાછા જાઓ જાઉં છું વિન્ડો અને કમ્પાઇલર ફરીથી ચલાવો. પરંતુ તે મને અંતે yelling છે. સર્વથા પુસ્તકાલય કાર્ય જાહેર const-- પૂર્ણાંક સહી થયેલ નહિં પ્રકાર સાથે strlen હું હારી છું. સંપૂર્ણપણે. તેથી, ખાસ કરીને તરીકે તમારી આંખો પર ચમક શરૂ આ જેમ ભૂલ સંદેશાઓ, ધ્યાન કેન્દ્રિત સાથે પ્રામાણિકપણે પ્રથમ થોડા શબ્દો પર. અમે સમસ્યા છે ખબર રેખા 8, અહીં સૂચવવામાં છે. અને તે શબ્દમાળા-0.c છે. સર્વથા જાહેર પુસ્તકાલય કાર્ય strlen. જેથી સામાન્ય રીતે ચાલે છે ભૂલ સંદેશાઓ એક પેટર્ન છે. સર્વથા કંઈક જાહેર. તેથી ટૂંકા માં, હું લાગતું હતું શું છે અહીં, 8 લાઇન માટે આદર સાથે થાય છે. હોઈ શકે છે શું ઉકેલ પણ હોય તમે તમારી જાતને strlen ક્યારેય ઉપયોગ કર્યો છે તો શું? પ્રેક્ષક: એક અલગ લાઇબ્રેરી ભાગ? ડેવિડ જે MALAN: ભાગ અલગ ગ્રંથાલયનો. તે જાહેર કરવામાં આવે છે તેથી, તેથી વાત કરવા માટે. કેટલાક ફાઈલમાં ઉલ્લેખ કર્યો છે stdio.h અને cs50.h. કરતાં અન્ય હવે જ્યાં તે વ્યાખ્યાયિત કરવામાં આવે છે? માટે પ્રમાણિક પ્રયત્ન, તમે ક્યાં તો માત્ર છે તમારા માથા ઉપરની બોલ આ ખબર છે, અથવા તમે આ Google અને શોધવા. અથવા આ ખબર, હું CS50 માં ખોલી છે ટર્મિનલ કાર્યક્રમ, સાધન જે માત્ર મોટા, સંપૂર્ણ સ્ક્રીન આવૃત્તિ છે શું gedit એ વિન્ડોની તળિયે છે. અને તે એક છે કે જે બહાર કરે છે કહેવાય જ succinct આદેશ, તમે લખો છો જ્યાં મેન્યુઅલ, માટે માણસ અને એક કાર્ય નું નામ, Enter દબાવો તમે એકદમ પાછા મળશે arcane દસ્તાવેજીકરણ. તે સામાન્ય રીતે માત્ર લખાણ છે આ જેવી થોડી કંઈક જુએ છે. તે થોડી જબરજસ્ત છે પ્રથમ નજરમાં. પરંતુ પ્રમાણિકપણે હું જાઉં છું મારી આંખો પર ચમક દો અને માત્ર ભાગ પર ધ્યાન કેન્દ્રિત હું ક્ષણ માટે વિશે કાળજી. જે આ છે. જે માળખાકીય જેવી લાગે છે કંઈક હું પરિચિત છું. ખરેખર મદદ પાનું છે, તેથી વાત કરવા માટે, તમને જણાવશે શું હેડર કાર્ય ફાઇલ જેમ strlen વ્યાખ્યાયિત કરવામાં આવે છે. તેથી હું gedit હવે પાછા જાઓ જાઉં છું. અને હું આગળ જાઓ જાઉં છું અને અહીં # સમાવેશ થાય છે માં ઉમેરો અને ફાઈલ સંગ્રહો. હું સાથે સ્ક્રીન સાફ કરવા માટે જઇ રહ્યો છું નિયંત્રણ એલ તમે આશ્ચર્ય થઈ છે. અને હું બનાવવા ચલાવો ફરી જાઉં છું string.0, આ સમય કમ્પાઇલ. ./string.0 Zamyla. કે મને જવા દો કામ લાગતું હતું આગળ અને ડેવનપોર્ટ સાથે પુનઃ ચલાવો. દાખલ કરો. અને તે, પણ, કામ કરવા માટે લાગતું હતું. તેથી અમે આ કરતાં થોડી વધુ સારી રીતે કરી શકે છે છતાં, અમે વ્યવસ્થિત વસ્તુઓ શરૂ કરી શકો છો માત્ર થોડો સુધી. અને હું ખરેખર કરવા જઇ રહ્યો છું હવે એક અન્ય વસ્તુ દાખલ. હું આગળ જાઓ જાઉં છું અને એક અલગ ફાઈલમાં આ સાચવો. અને હું કહી જાઉં છું આ ફાઈલની string1.c માત્ર કોડ સાથે સુસંગત હોઈ તમે ઑનલાઇન શોધવા કરવાનો પ્રયત્ન કરીશું. અને માં પર ધ્યાન કેન્દ્રિત દો બરાબર એ જ કોડ. હું કર્યું છે કે બહાર વળે લેવાથી ના રહી પ્રકારની મંજૂર હકીકત માટે મારા લેપટોપ કે, અને બદલામાં, CS50 સાધન મેમરી ઘણો, ઘણો છે રેમ, જગ્યા બાઇટ્સ ઘણો જેમાં હું શબ્દમાળાઓ સ્ટોર કરી શકો છો. પરંતુ વાસ્તવિકતા હું લાંબા લખ્યો જો પૂરતી છે, અને પૂરતી કીસ્ટ્રોક, હું સિદ્ધાંત પ્રકાર શકે વધુ અક્ષરો મારું કમ્પ્યુટર કરતાં શારીરિક માટે મેમરી છે. અને આ સમસ્યારૂપ છે. મોટા પૂર્ણાંક કરી શકો છો માત્ર જેમ સિદ્ધાંત માં, તેથી ઉચ્ચ ગણતરી, તમે માત્ર ઘણા અક્ષરો ભીડ કરી શકો છો તમારા કમ્પ્યુટરની રેમ અથવા રેન્ડમ માં એક્સેસ મેમરી. તેથી હું સારી અપેક્ષા હતી આ સમસ્યા છે, પણ તે ભાગ્યે જ કરી શકે છે ખૂણે કેસ છે, તેથી વાત કરવા માટે. ઘણી વખત તે ન થાય છે, બની શકે છે. તે થાય છે અને જો હું નથી અપેક્ષા અને તે માટે કાર્યક્રમ, મારા કાર્યક્રમ શું જાણે કરી શકે. , ગમે રીબુટ, સ્થિર અટકી. કંઈક થાય શકે કલ્પના કરી હતી. તેથી હું શું કરવા જાઉં છું હવે, અત્યારથી ખરેખર, ક્યારેય અકારણ હું પહેલાં છે ના જેવું ચલ ઉપયોગ કરે છે પરત કિંમત સોંપાયેલ છે GetString જેવા કેટલાક અન્ય કાર્ય, હું ખાતરી કરવા માટે જઇ રહ્યો છું કે તેની કિંમત માન્ય છે. તેથી હું વાંચી કર્યા માત્ર ખબર GetString માટે CS50 હિસ્સો દસ્તાવેજીકરણ, જે આખરે અમે તમને નિર્દેશ પડશે, કે GetString એક ખાસ પ્રતીક આપે બધા નલ, એન યુ એલ એલ કહેવાય કંઈક ખોટું થાય તો, કેપ્સ. તેથી સામાન્ય રીતે, તે એક શબ્દમાળા આપે છે. પરંતુ તે એન યુ એલ L-- આપે અન્યથા જો અમે આખરે શું જોશો કે કે જે હમણાં જ અર્થ અર્થ કંઈક ખરાબ થયું. હવે આ ખૂબ સ્ક્રેચ જેમ, એનો અર્થ એ થાય, હું સી અહીં એક શરત શકો છો ઓ સમાન નલ નથી છે. તમે પહેલાં આ જોઇ ન કર્યું તેથી જો, માત્ર અર્થ એ થાય આ સમાન નથી. તેથી તે વિરુદ્ધની છે , યાદ જે સમાન સમકક્ષ, એક અલગ છે સોંપણી છે, કે જે સમકક્ષ હોય છે. ઓ સમાન નહી હોય તો તેથી નલ, માત્ર પછી કરવું હું કોડ આ રેખાઓ ચલાવવા માંગો છો. તેથી અન્ય શબ્દોમાં, હું અકારણ માં ડાઇવ પહેલાં અને વારો શરૂ ઓ ઉપર છે, અને તે સારવાર તે એક ક્રમ છે છતાં અક્ષરો, હું પ્રથમ તપાસ જાઉં છું એક મિનિટ રાહ જુઓ, ચોક્કસપણે નથી છે આ ખાસ કિંમત બરાબર, નલ? તે હોય, તો ખરાબ વસ્તુઓ થાય છે શકે છે. અને હવે માટે, કે ખરાબ વસ્તુઓ ધારે તમારા કાર્યક્રમ ભંગાણો અર્થ થઈ રહ્યું, અને તમે જરૂરી પુનઃપ્રાપ્ત કરી શકો છો. તેથી પ્રમાણિકપણે, તે uglier દેખાય છે. તે પ્રકારની પર નજરે હવે ચિંતામાં મૂકી દે છે. પરંતુ આ વધુ બનશે લાંબા પહેલાં પરિચિત. પરંતુ હું પ્રસ્તાવ જાઉં છું હવે એક અન્ય સુધારણા. કે ચોકસાઈ માટે એક સુધારો છે. મારા કાર્યક્રમ કારણ કે, હવે વધુ યોગ્ય છે દુર્લભ કિસ્સામાં તે પર્યાપ્ત નથી મેમરી , હું તેને નિયંત્રિત કરશે અસ્તિત્વમાં, અને હું માત્ર કંઈ કરીશ. હું ઓછામાં ઓછા ભાંગી નહીં. પરંતુ અહીં એક અંતિમ આવૃત્તિ કરવા દો. અને ફાઈલ string2.c કહેવાય છે. હું પેસ્ટ જાઉં છું માત્ર એક ક્ષણ માટે જ કોડ છે, અને હું આ પ્રકાશિત કરવા જઈ રહ્યો છું માત્ર એક ક્ષણ માટે અહીં લાઇન, 11,. હવે વાસ્તવિકતા કે સ્માર્ટ કમ્પાઇલરોનો છે રણકાર અમારા માટે આ ઠીક કરી શકે છે, જેમ કે પડદા પાછળ અમારા ક્યારેય જાણ્યા વગર. પરંતુ આ વિશે વિચારો મૂળભૂત એક સમસ્યાવાળા ડિઝાઇન છે. કોડ આ વાક્ય, અલબત્ત, છે એમ કહીને કેટલાક ચલ હું 0 થી પ્રારંભ. તે ખૂબ સરળ છે. અને ફરી આ શું છે નિવેદન, અહીં, હું કરી, ++? અમે પહેલાં જોઈ છે, પરંતુ અમે છે ખરેખર તે વિશે વાત કરી ન હતી. પ્રેક્ષક: હું Incrementing. ડેવિડ જે MALAN: Incrementing હું. દ્વારા દરેક ઇટરેશન પર તેથી આ લૂપ દરેક ચક્ર, તમે એક પછી હું incrementing કરી રહ્યાં છો. તેથી તે મોટા, અને મોટી નહીં, અને લૂપ બંધ ત્યાં સુધી મોટા. તે કેવી રીતે સમાપ્ત થાય છે? વેલ આ મધ્યમ છે અમે પહેલાં ઉપયોગ કર્યો છે, જે શરત. તમે જોઇ અને કર્યું પી સેટ વૉકથ્રૂઝ. પરંતુ આ કહેવત શું છે? તેથી નીચેના લૂપ કરો લાંબા હું શું કરતાં ઓછી છે? પ્રેક્ષક: શબ્દમાળા લંબાઈ. ડેવિડ જે MALAN: આ શબ્દમાળા લંબાઈ. તેથી તે ખૂબ સ્વચ્છ અનુવાદ તે અર્થમાં ઇંગલિશ છે. હવે સમસ્યા છે દર વખતે હું સિદ્ધાંત માં આ લૂપ દ્વારા ફરી વળવું, હું આ પ્રશ્ન પૂછવા છું. હું ઓ શબ્દમાળા લંબાઈ કરતાં ઓછી છે? હું ઓ શબ્દમાળા લંબાઈ કરતાં ઓછી છે? હવે હું દરેક ઇટરેશન પર બદલાતી રહે છે? તે છે. આ ++ ની છે. તેથી દરેક ઇટરેશન હું મોટી રહ્યો છે. પરંતુ છે ઓ મોટી મેળવવામાં, અથવા નાના, અથવા બદલવા? નં ડિઝાઇન દ્રષ્ટિએ, આ સીમાની એક તેથી જે સાથે આપણે કોડ મૂલ્યાંકન કરવાનો પ્રયાસ કરો વર્ગ આ પ્રકારની મૂર્ખ લાગે છે. તમે શાબ્દિક છે જેમ, દરેક ઇટરેશન પર આ લૂપ પૂછવા ફરીથી જ ખરેખર ખૂબ જ પ્રશ્ન છે, અને ફરી, અને ફરી, અને શાબ્દિક તે ક્યારેય બદલી રહ્યું છે. હું સ્પર્શ છું ઓછામાં ઓછા અને જો ઓ સમાવિષ્ટો બદલવા માટે પ્રયાસ કરે છે. તેથી હું આ કરતાં થોડી વધુ સારી રીતે કરી શકે છે. અને હું શું કરવા જાઉં છું નથી , માત્ર એક ચલ હું જાહેર પરંતુ બીજા ચલ હું આપખુદ પડશે પરંતુ પરંપરાગત, એ કૉલ કરો. આ માટે એ સમાન સોંપો ઓ શબ્દમાળા લંબાઈ. અને પછી અહીં, હું જાઉં છું તેથી, એક ચપળ થોડી ઓપ્ટિમાઇઝેશન કરવું દિવસ ના અંતે, તે વાત કરવા માટે વધુ યોગ્ય અથવા કોઈ ઓછી સાચું છે પહેલાં કરતાં. પરંતુ તે એક સારી ડિઝાઇન છે. હકીકત માં હું ઉપયોગ કરું છું કે ઓછી સમય, ઓછા CPU ચક્ર, તેથી એ જ જવાબ, વાત કરવા માટે પ્રશ્ન છે, પરંતુ માત્ર એક વાર. કે સામાન્ય પર કોઈપણ પ્રશ્ન છે સુધારવા સિદ્ધાંત, એક કાર્યક્રમ કાર્યક્ષમતા, કહે છે? અરે વાહ? પ્રેક્ષક: તમે શા માટે કરવું [અશ્રાવ્ય] ઉપયોગ? ડેવિડ જે MALAN: સારા પ્રશ્ન. તેથી શા માટે અમે ઓવરને પર ++ મૂકી શકું હું બદલે હું શરૂઆતમાં? આ કિસ્સામાં, તે છે કોઈ વિધેયાત્મક અસર. અને સામાન્ય રીતે, હું હોય છે આ પોસ્ટફિક્સ ઓપરેટર ઉપયોગ તે થોડી વધુ સ્પષ્ટ તરીકે છે જેથી આ કામગીરી થઈ રહ્યું છે જ્યારે. તે અજાણ્યા માટે, અન્ય છે તમે ++ હું કરી શકે જેમાં નિવેદનો. આ વિધેયાત્મક છે આ કિસ્સામાં સમકક્ષ બીજું કશું જ નથી કારણ કે કે incrementation આસપાસ. પરંતુ તમે સાથે આવી શકે કેસો અને કોડ ઓફ લાઇન જેમાં કે તફાવત બનાવે છે. તેથી સામાન્ય રીતે, અમે નથી પણ આ એક વિશે વાત કરો. પ્રમાણિકપણે, કારણ કે તે તમારા બનાવે કોડ sexier, અને જેવું slicker, અને ઓછા અક્ષરો. પરંતુ વાસ્તવિકતા છે, તે ઘણો મુશ્કેલ છે છે હું મને મારા મન લપેટી માટે પણ, લાગે છે કે ક્યારેક તે આસપાસ, કામગીરી ક્રમ. એક અલગ તરીકે, તેથી જો તમે ખરેખર, આ ન ગમે પણ આ પ્રકારની સેક્સી છે છતાં જોઈ, તમે પણ કરી શકો છો હું + = 1, જે ના uglier આવૃત્તિ છે પોસ્ટફિક્સ incrementation માટે જ વિચાર. હું આ અને તમે કહી તે મજા કરવી જોઈએ, પરંતુ તમે કોડ જોવા માટે આવશે લાંબા પહેલાં સુંદર કંઈક. [હાસ્ય] ડેવિડ જે MALAN: અધિકાર? અરે વાહ. મધ્યમાં પ્રશ્ન. પ્રેક્ષક: તમે પૂર્ણાંક n એ કહેવું જરૂરી છે? ડેવિડ જે MALAN: તમે શું પૂર્ણાંક n એ કહેવું જરૂરી નથી. અમે પહેલાથી જ પૂર્ણાંક કહ્યું છે કારણ કે તેથી, તમે તેને ફરીથી કહેવું જરૂર નથી. આ કેચ એ છે કે છે હું તરીકે જ માહિતી પ્રકાર છે. જેથી અહીં માત્ર એક સગવડ છે. અરે વાહ. પ્રેક્ષક: તમે પર જઈ શકો છો પ્રિન્ટ પાત્ર ઓ કૌંસ હું ફરી? ડેવિડ જે MALAN: ચોક્કસ. તેથી% C, ગયા થી યાદ સમય, માત્ર એક પ્લેસહોલ્ડર છે. અહીં ચાર રચે મૂકી છે. બેકસ્લેશ n એ, અલબત્ત, માત્ર અર્થ અહીં એક પંક્તિ વિરામ મૂકો. , માત્ર હવે, નહીં કે તેથી નવી વાક્યરચના આ ભાગ. અને આ શાબ્દિક ગ્રેબ, કહી રહ્યાં છે શબ્દમાળા ઓ કહેવાય અને વિચાર જાઓ તેના i'th અક્ષર છે, તેથી વાત કરવા માટે. અને હું i'th પાત્ર કહે રાખો કારણ કે આ લૂપ દરેક ઇટરેશન પર અમે છાપવા છે છતાં તે છે બહાર, પ્રથમ ઓ કૌંસ 0, પ્રોગ્રામર કહી શકે છે. પછી ઓ પછી, કૌંસ 1 ઓ કૌંસ 2, પછી પછી 3, 4. પરંતુ અલબત્ત તે એક ચલ છે, તેથી હું માત્ર હું સાથે વ્યક્ત. કી, જોકે, ખ્યાલ છે, જો તમે ન કર્યું, ખાસ કરીને જો આ વિશ્વમાં acclimating કરવામાં પ્રોગ્રામિંગ, જ્યાં અમે સૌ જેમના, શૂન્ય માંથી ગણતરી લાગે છે હવે શૂન્ય માંથી ગણતરી શરૂ કરો. કારણ કે શબ્દમાળાઓ, પ્રથમ અક્ષર છે, Zamyla માં z માટે વધુ સારી અથવા ખરાબ માટે છે સ્થાન નંબર શૂન્ય પર રહેવા માટે જઈ રહી છે. બધા હક છે, તેથી મને લાવવા દો અહીં Zamyla માટે પાછા અને ખરેખર શું ચાલી રહ્યું છે જુઓ હૂડ નીચે. તેથી પ્રકાર કાસ્ટિંગ આ ખ્યાલ છે. તમે ખરેખર હોય છે પહેલેથી જ આ સાથે રમી, કદાચ હેકર માટે પી ની આવૃત્તિ એક સુયોજિત કરો. પરંતુ પ્રકાર કાસ્ટિંગ માત્ર ઉલ્લેખ કરે છે સી ક્ષમતા અને કેટલાક અન્ય ભાષાઓમાં એક માહિતી પ્રકાર કન્વર્ટ. હવે અમે આ કેવી રીતે કરી શકે છે ખૂબ તેમના મોઢા પર? તેથી, શરૂઆતમાં આ રિકોલ છે આ ઇંગલિશ મૂળાક્ષર. અને સંદર્ભ માંથી, યાદ જેમ એક સપ્તાહ પહેલા તે ASCII છે. આ અમેરીકન માન્ય કોડ માહિતી ઇન્ટરચેન્જ માટે. જે માત્ર એક ખરેખર લાંબા માર્ગ છે અક્ષરો એક મેપિંગ કહેતા નંબરો છે, અને નંબરો માંથી અક્ષરો છે. તેથી એક અહીં એમ, કોઈ ડોટ દ્વારા કોઈ, રેખાઓ સાથે, સ્મૃતિ, અપ પર દશાંશ નંબર 65. અને અમે વાત કરી ન હતી બાહ્ય રીતે આ વિશે, પરંતુ મક્કમતાપૂર્વક સમાન છે નાના અક્ષરો માટે નંબરો. અને ખરેખર, છે. વિશ્વ કેટલાક વર્ષો નક્કી કર્યું પહેલાં થોડો એક, એક લોઅરકેસ, 97 પ્રયત્ન રહ્યું છે. અને થોડી બી રહ્યું છે તેથી આગળ 98, અને છે. અને અન્ય કોઈ પણ કી પર તમારા કીબોર્ડ, છે બીટ્સ એક સમાન પેટર્ન જ હશે. અથવા સમાન, દશાંશ નંબર. તેથી હાથ પર પ્રશ્ન, પછી, અમે કેવી રીતે કરી શકો છો છે ખરેખર હૂડ નીચે આ જુઓ? તેથી હું ફરીથી gedit પર જાઓ જાઉં છું. અને બદલે પ્રકાર કરતાં શરૂઆતથી આ એક, હું આગળ જાઓ જાઉં છું અને કંઇક ખોલો આજે કોડ માંથી તે ASCII શૂન્ય કહેવાય છે. અને તે ASCII શૂન્ય આ જેવો દેખાય છે. તેથી આપણે આ આસપાસ અમારા મનમાં લપેટી દો. તેથી પ્રથમ, હું ટિપ્પણી કરી છે સરસ છે કે જે કોડ. તે શાબ્દિક છે કારણ કે શું અપેક્ષા મને કહી, મોટા અક્ષરો માટે મેપિંગ પ્રદર્શિત કરે છે. હવે હું ખૂબ ખબર નથી શું હું કે દ્વારા અર્થ, તેથી આપણે અટકળ બાંધવી દો. ઇંગલિશ માં, કદાચ કંઈક techie ઇંગલિશ, શું 18 વાક્ય દેખાય છે અમારા માટે કરી શકાય? જસ્ટ 18 લાઇન. તે શું પ્રેરીત છે? શું તે અહીં બોલ લાત બનશે? પ્રેક્ષક: એક લૂપ. ડેવિડ જે MALAN: એક લૂપ. અને કેટલી વખત છે ફરી વળવું રહ્યા છે? પ્રેક્ષક: [અવાજો INTERPOSING] છ વખત. ડેવિડ જે MALAN: જવાબ નથી છ વખત. પ્રેક્ષક: 26 વખત. ડેવિડ જે MALAN: 26 વખત. અરે વાહ, માફ કરશો. 26 વખત. શા માટે? ઠીક છે, તે થોડી વિચિત્ર છે, પરંતુ હું 65 થી ગણતરી શરૂ કરી છે. જે વિચિત્ર છે, પરંતુ ખોટું નથી. તે કહે દીઠ ખરાબ નથી. અને હું કરી રહ્યો છું કે માત્ર કારણ કે, આ ઉદાહરણ તરીકે, હું પ્રકારની ધારણા છું કે મૂડી એક 65 હતી. હવે આ નથી સૌથી ભવ્ય છે રીતે હાર્ડ કોડ પ્રકારની છે, આ કરવા માટે વિશિષ્ટ કિંમતો કે કોઈ એક ક્યારેય યાદ તેવી અપેક્ષા છે. પરંતુ હવે માટે, હું છું કે નોટિસ 65 વત્તા 26 દ્વારા આ અપ કરી. દેખીતી રીતે હું પણ નથી માંગતા કારણ કે મારા માથા માં અંકગણિત કરવા. તેથી હું પણ કમ્પાઇલર તે કરી દો પડશે. પરંતુ તે પછી દરેક લૂપ પર, દરેક ઇટરેશન લૂપ, હું incrementing છું. તેથી હવે આ થોડી ભેદી જુએ છે. પરંતુ અમે મૂળભૂત મકાન હોવા જોઈએ જેની સાથે બ્લોકો આ સમજવા માટે. % C ચાર રચે માટે માત્ર એક પ્લેસહોલ્ડર છે. % હું પૂર્ણાંક માટે એક પ્લેસહોલ્ડર છે. અને તે દ્વારા આ ઉપયોગ કરીને તે તારણ આપે છે નવી વાક્યરચના આ parenthetical, તેથી વાત એક માહિતી પ્રકાર જેથી માટે એક કૌંસ અંદર, હું સારવાર માટે કમ્પાઇલર દબાણ કરી શકો છો હું નથી પૂર્ણાંક હોય છે, પરંતુ એક કોલસો બનાવો છે. ત્યાં મને અક્ષર દર્શાવે કે જે નંબર ની સમકક્ષ. હવે નીચે અહીં, આ કોડ ખૂબ ખૂબ સમાન છે. હું માત્ર બનાવવા માગતા હતા સુપર સ્પષ્ટ હકીકત હું 97 વાગ્યે શરૂ છું કે, જે લોઅરકેસ છે. અપ 26 વધુ પત્રો દ્વારા છે. અને હું ફરી doing-- છું હું નિર્ણાયક છે, તેથી વાત કરવા માટે. અથવા પ્રકાર કાસ્ટિંગ હું તેથી વાત કરવા માટે. એક કોલસો બનાવો માટે પૂર્ણાંક છે. તેથી અંતિમ પરિણામ હોઈ ચાલે છે, પ્રમાણિકપણે, માહિતી અમે પહેલાથી જ જાણો છો. હું બનાવવા જઈ રહ્યો છું ASCII-0 સી ડોટ નથી dot--. સૂચના, તો તમે કદાચ તે કરી ભૂલ હું માત્ર આકસ્મિક હતી. ASCII-0 બનાવો. હવે હું ./ascii-0 કરવા જઇ રહ્યો છું. હું ઝૂમ, અને કમનસીબે પડશે તે સ્ક્રીન બોલ સ્ક્રોલ બનશે. પરંતુ અમે સમગ્ર ચાર્ટ જ્યાં જુઓ 97 માટે નકશા, 98 બી નકશા, અને અમે વધુ ઉપર સ્ક્રોલ જો એક, અલબત્ત, 65 નકશા. તેથી આ કહે છે કે માત્ર છે અમે શું ઉપદેશ કરવામાં આવ્યા છે, આ સમકક્ષતા, ત્યાં છે વાસ્તવમાં હકીકત માં કેસ. તેથી આ એક ઝડપી સુધારો. મને ASCII-1.c ખોલો. અને પ્રકારની આ હોંશિયાર નોટિસ ના, આ સ્પષ્ટતા. આ ASCII-1.c છે, અને આ ક્રેઝી વસ્તુ નોટિસ. અને આ ખરેખર હૃદય નહીં શું કમ્પ્યુટર્સ કરી રહ્યા છે. પણ આપણે મનુષ્યો કરશે છતાં letters-- દ્રષ્ટિએ ગણતરી નથી હું વિચારવાનો શરૂ નથી, બધા અધિકાર એક પછી બી, અને ભૌતિક વસ્તુઓ ગણતરી માટે તે ઉપયોગ કરે છે. તમે ચોક્કસપણે હું કરવા માંગો છો કહે છે કે કરી શકો છો કહેવાય કેટલાક ચલ પ્રારંભ સી પરંતુ હું આ કંઈ કહે છે શકે છે તેથી સી મૂડી એ માટે આરંભ છે દિવસ ઓવરને અંતે, કમ્પ્યૂટર છે તમે સ્ટોર કરી રહ્યાં શું કાળજી નથી, તે માત્ર તમે માંગો છો કેવી રીતે ધ્યાન આપતા તે માહિતી પ્રસ્તુત કરવા માટે. તમે કમ્પ્યુટર કરવા માંગો છો કેવી રીતે બીટ્સ કે પેટર્ન અર્થઘટન? તેથી આ કંઈક હું નથી સામાન્ય રીતે કરી ભલામણ કરશે. તે ખરેખર માત્ર એક ઉદાહરણ છે અભિવ્યક્ત કે તમે સંપૂર્ણપણે કરી શકો છો એક કોલસો બનાવો માટે પૂર્ણાંક પ્રારંભ. કારણ કે નીચે ચાર રચે ઓફ હૂડ, અલબત્ત, 0 થી 255 માટે માત્ર એક નંબર છે. તેથી તમે ચોક્કસપણે કરી શકો છો પૂર્ણાંક ની અંદર મૂકો. અને શું આ પણ છે દર્શાવે છે અમે તે એક કન્વર્ટ કરી શકો છો અહીં, બીજા લખો, આખરે આ જ વાત છાપવા. અને હકીકતમાં, આ હું online-- સુધારવા કરશે અહીં, ફરીથી, આ કહેવું અર્થ હતો. મને ઓનલાઇન આ સાફ કરીએ, અને અમે પડશે જરૂરી ઓનલાઇન walkthrough માં જુઓ, શું ત્યાં ઈરાદો હતો. બરાબર. હવે સંડોવતા તેથી છેલ્લા ઉદાહરણ એક અને બોલ્ડ અને પછી અમે પડશે એક ઉત્તમ અપ વસ્તુઓ લે છે. એક અને બોલ્ડ અને તેથી આ કેપિટલાઈઝેશન માં કેચ માતાનો અને સમકક્ષતા તેના, ચાલો અહીં આ ઉદાહરણ પર એક નજર. અન્ય કોડ ઉદાહરણ. અમે છે કે એક ખોલવા પડશે પહેલેથી જ બનાવવામાં આવે છે, અમે આમ લખી નથી બધા શરૂઆતથી બહાર. અને અપેક્ષા નોટિસ અમે ઘણી હેડર ઉપયોગ કરી રહ્યાં છો છે, જે વચ્ચે ફાઇલો, અમારા નવા મિત્ર, string.h. હવે આ પ્રથમ, જુએ છે નજરમાં થોડી છુપાયેલું. પરંતુ અમે કારણ ન હોય તો માતાનો જોવા દો અહીં શું થઈ રહ્યું છે મારફતે. પ્રથમ હું વપરાશકર્તા તરફથી એક શબ્દમાળા મળે છે, અને હું એક ચલ કે જેઓ શબ્દમાળા મૂકી કહેવાય છે. પહેલાં પેસ્ટ નકલ કરો. 22 લીટી માં, હું દેખીતી રીતે છું બરાબર શું કરી હું વારો છું, એક ક્ષણ પહેલા હતી ઓ માં અક્ષરો પર. અને અહીં નવી યુક્તિઓ ઉપયોગ કરી રહ્યા છો શબ્દમાળા લંબાઈ, નાના ઓપ્ટિમાઇઝેશન એ માં શબ્દમાળા લંબાઈ સંગ્રહવા, બદલે ફરીથી strlen કૉલ કરતાં, અને ફરી, અને ફરીથી. અને માત્ર હું એ કરતાં ઓછી છે કે ચકાસણી. હવે અહીં, વસ્તુઓ મળી થોડી રસપ્રદ. પરંતુ તે માત્ર એક એપ્લિકેશન છે આ જ નવા વિચાર. ઇંગલિશ કરે શું હું પ્રતિનિધિત્વ ઓ કૌંસ? પ્રેક્ષક: દરેક ગણવા અક્ષર [અશ્રાવ્ય]. ડેવિડ જે MALAN: દરેક અક્ષર ગણવા. અને પણ વધુ સંક્ષિપ્તમાં, ઓ કૌંસ હું શું પ્રતિનિધિત્વ? છો તમે કહે છે. અહીં સ્થળ પર તમે મૂકી નથી. પ્રેક્ષક: Well-- ડેવિડ જે MALAN: આ શબ્દ તો ઠીક છે તેથી જો શબ્દમાળા starts-- જે Zamyla છે પ્રેક્ષક: --you સાથે વ્યવહાર અક્ષરો separately-- ડેવિડ જે MALAN: સારી. ચોક્કસ. આ ચોરસ કૌંસ નોટેશનમાં તમે પરવાનગી આપે છે વ્યક્તિગત રીતે દરેક અક્ષર વાપરવા માટે, તેથી ઓ કૌંસ 0 પ્રયત્ન રહ્યું છે શબ્દમાળા માં પ્રથમ અક્ષર. ઓ કૌંસ 1 પ્રયત્ન રહ્યું છે તેથી આગળ બીજા, અને. તેથી પ્રશ્ન હું પૂછવા છું, અહીં, આ સ્થિતિ માં શું છે? ઓ વધારે ના i'th પાત્ર છે કરતાં અથવા સમાન એક લોઅરકેસ માટે? અને આ, અહીં, શું અર્થ છે ડબલ ampersands સાથે? પ્રેક્ષક (મળીને): અને. ડેવિડ જે MALAN: અને. આ માત્ર સમકક્ષ છે. અને સી મુખ્ય શબ્દ નથી, તો તમે છે ઉપયોગ, annoyingly, 'ચિન્હ' ચિન્હ. અને આ, ઊલટી, પુછે છે છે અક્ષર i'th ઓ માતાનો કરતાં ઓછી અથવા સમાન z લોઅરકેસ માટે? અને ફરી, અહીં જ્યાં છે અંતર્ગત સમજવા એક અમલીકરણ કમ્પ્યુટર અર્થમાં બનાવે છે. હું, છતાં પણ નોંધ કરો કે ડોટ ડોટ ડોટ ત્યાં પર, લોઅરકેસ માં z મારફતે જેવા છે લાગે છે અપ પર 97 ના તમામ સંલગ્ન કિંમતો. અને મોટા માટે જ 65 પર શરૂ થાય છે. તેથી takeaway, તે પછી, કે, ઇંગલિશ માં છે તમે વર્ણન કેવી રીતે 24 કરી છે તે વાક્ય? અરે વાહ? પ્રેક્ષક: 24 પર તેને જોવા માટે ચકાસણી છે કે શું દરેક અક્ષર એક લોઅરકેસ છે. ડેવિડ જે MALAN: તે છે કે શું તપાસ છે દરેક અક્ષર એક નાના અક્ષર છે. તેથી પણ વધુ સંક્ષિપ્તમાં, છે ઓ નાના ના i'th પાત્ર? કે અમે છો બધા છે તાર્કિક અહીં વ્યક્ત, થોડી રહસ્યમય છે, પરંતુ આખરે ખૂબ તેમના મોઢા પર. પાત્ર લોઅરકેસ i'th ઓ માતાનો છે? જો આમ હોય, અને અહીં જ્યાં વસ્તુઓ છે થોડી મન શરણ વિચાર માત્ર એક ક્ષણ માટે, તેથી જો, જાઓ આગળ અને એક અક્ષર છાપો. તેથી આ માત્ર એક પ્લેસહોલ્ડર છે, પરંતુ શું પાત્ર? શા માટે હું કૌંસ હું કરી રહ્યો છું બાદ અહીં આ સમીકરણ? વેલ અહીં પેટર્ન નોટિસ. વાસ્તવિક સંખ્યાઓ ખૂબ જ વાંધો નથી. પરંતુ 97 નોંધ્યું છે કે અત્યાર સુધી કેવી રીતે દૂર 65 થી? પ્રેક્ષક: 32. ડેવિડ જે MALAN: 32. અત્યાર સુધી કેવી રીતે દૂર 66 થી 98 છે? પ્રેક્ષક: 32. ડેવિડ જે MALAN: મોટા સી થી લિટલ સી? 32. તેથી થી 32 હોપ્સ છે એક અક્ષર. તેથી પ્રમાણિકપણે હું કરી શકે છે કે આ સરળ બનાવવા. પરંતુ પછી હું પ્રકારની હાર્ડ કોડિંગ છું આ નીચા સ્તર સમજ કોઈ વાચક ક્યારેય કે સમજવા માટે જઈ રહી છે. તેથી હું તે સામાન્ય જાઉં છું, હું ખબર નાના અક્ષરો મોટા છે. હું મૂડી અક્ષરો છે ખબર નાના મૂલ્યો, વ્યંગાત્મક રીતે. પરંતુ આ માટે અસરકારક રીતે સમકક્ષ છે ઓ કૌંસ હું થી 32 સબ્ટ્રેક્ટ કહેતા. આ સંદર્ભમાં તેથી અક્ષરો, પત્ર તો એક, નાના બને છે એક, અને હું 32 સબ્ટ્રેક્ટ, કે શું અસર કરે છે, ગાણિતિક, પર લોઅરકેસ? પ્રેક્ષક: Capitalizes-- ડેવિડ જે MALAN: તે અક્ષરે. અને ખરેખર, આ શા માટે છે અમારા કાર્યક્રમ શૂન્ય ઉઠાવે કહેવામાં આવે છે. આ કાર્યક્રમ ક્યાં એક અક્ષર અક્ષરે, તે છે જો ચકાસણી પછી ખરેખર એક લોઅરકેસ પત્ર. નહિંતર, લાઇન 30 માં, હું તો શું કરવું તે હું છું કે નાના અક્ષર નથી ચોક્કસ પર જોઈ લૂપ ઇટરેશન. બસ છાપે. તેથી સામગ્રી બદલી નથી તે પણ નાના નથી. જાતે નિયંત્રિત થોડી z મારફતે થોડું એક. હવે આ એકદમ arcane છે. પરંતુ દિવસ ઓવરને અંતે, આ અમે કેવી રીતે, એક વખત સમય પર, છે વસ્તુઓ અમલમાં હતી. હું બદલે ઉઠાવે ખોલવા તો એક, ઓહ ભગવાન આભાર. એક કાર્ય છે ઉચ્ચ માટે કહેવાય છે કે કરી શકો છો અમે હમણાં જ કર્યું બધું કરવા એકદમ નીચા સ્તરે. હવે માટે ઉપર રસપ્રદ છે તે ફાઈલમાં જાહેર કરવામાં આવે છે કારણ કે, અને તમે માત્ર આ ખબર હોત દસ્તા ચકાસીને, અથવા વર્ગ, જ્યાં માં કહે છે, જણાવ્યું હતું કે આવી રહી તે ફાઈલ કહેવાય ctype.h માં, હાજર છે. તેથી આ અવર્સ અન્ય નવા મિત્ર છે. અને ઉપર બરાબર કરે છે માટે તેનું નામ સૂચવે છે. તમે વચ્ચે, એક દલીલ તરીકે, માં પસાર કરી શકો છો આ કૌંસ, કેટલાક પાત્ર. હું i'th પાત્ર પાસ જાઉં છું અમારી ફેન્સી નવા સંકેત ઉપયોગ ઓ ચોરસ કૌંસ સંડોવતા. અને એક અનુમાન લેવા, પરત છે ઉપર ની કિંમત દેખીતી રીતે જવું હોઈ? એક મૂડી પત્ર. એક મૂડી પત્ર. તેથી હું લોઅરકેસ એક પાસ છે, આસ્થાપૂર્વક, ઉપલા માટે વ્યાખ્યા દ્વારા, તે પરત ચાલી રહ્યું છે નહિંતર મોટા એ, તે એક નાના અક્ષર નથી જો પ્રથમ સ્થાને, હું હમણાં જ તે છાપે. અને ખરેખર, આ નોટિસ અહીં બીજા મિત્ર. માત્ર ઉપર હાજર છે માટે, પરંતુ, નીચા છે, જે ખરેખર મારા માટે કે પ્રશ્ન જવાબ. હવે આ વસ્તુઓ લખ્યું વિષયક, 10s વર્ષ પૂર્વે, તમે શું જાણો છો? ઉચ્ચ માટે અમલમાં છે અને આ જેમ કોડ મદદથી ઘટે. પરંતુ સાથે ફરી, સુસંગત દૂર abstracting આ વિચાર, જેવું, નીચા સ્તર અમલીકરણ વિગતો. અને લોકો ખભા પર ઉભા જે કાર્યો ઉપયોગ કરીને, અમને પહેલા આવી ઉચ્ચ માંગો અને, નીચા છે, જે અદ્ભૂત પર્યાપ્ત સરસ છે તેઓ શું કહે છે નામ આપવામાં આવ્યું છે, એક અદ્ભુત ફેરફાર અપનાવવા. હવે, તે હું વાંચી જો તારણ છે કે , માટે મદદ પાનું, ઉપલા માટે કહે છે, હું કંઈક બીજું શીખે છે. તેથી માણસ toupper. તે થોડી જબરજસ્ત છે. પરંતુ નોટિસ, અહીં કે ઉલ્લેખ છે હું ઉપયોગ કરવો જોઈએ કે હેડર ફાઇલ. એક અલગ તરીકે, કારણ કે આ છે ભ્રામક છે, કાર્ય ints બદલે અક્ષરો વાપરે ભૂલ ચકાસણી કારણોસર. પરંતુ અમે કદાચ આવે પડશે પાછા કે ભવિષ્યમાં. પરંતુ ઉચ્ચ ધર્માંતરિત માટે, અહીં, નોટિસ જો શક્ય હોય તો આ પત્ર સી મોટા છે. જેથી ખૂબ સરળ છે. અને હવે આપણે થોડી વધુ ચોક્કસ હોય છે. આ ભાગ જુઓ પરત કિંમત હેઠળ મદદ પાનું. પરત કિંમત છે આ રૂપાંતરિત પત્ર. અથવા સી, જો રૂપાંતર , શક્ય ન હતું જ્યાં સી મૂળ ઇનપુટ છે. જે હું ના, અહીં ખબર ઉચ્ચ માટે દલીલ. તેથી આ takeaway શું છે? પરત કિંમત છે આ રૂપાંતરિત પત્ર, અથવા સી, મૂળ અક્ષર, તો રૂપાંતર શક્ય ન હતું. શું સુધારો તેથી હું કરી શકો છો મારી કોડ ડિઝાઇન માટે છે? અરે વાહ? પ્રેક્ષક: તમે બીજા દૂર કરી શકો છો. ડેવિડ જે MALAN: હું કરી શકો છો આ બીજું નિવેદન દૂર કરવા માટે, નથી અને માત્ર બીજું નિવેદન. પ્રેક્ષક: તમે [અશ્રાવ્ય] દૂર કરી શકો છો. ડેવિડ જે MALAN: હું કરી શકો છો સમગ્ર કાંટો દૂર રસ્તા માં, બીજું તો એકસાથે. તેથી ખરેખર, મને ખોલો આ અંતિમ આવૃત્તિ, તો -2 ઉઠાવે અને કેવી રીતે માત્ર નોટિસ તમે, કામુક, આ કોડ હવે રહ્યો છે કરશે, કે હું કેટલાક ઘટાડવામાં છે સાત કે તેથી માત્ર ચાર રેખાઓ, હું ઈરાદો કે વિધેય ફક્ત ઉપલા માટે ફોન કરીને, ઓ કૌંસ હું, અને પ્રિન્ટીંગ માં પસાર બહાર, પ્લેસહોલ્ડર% C સાથે, ચોક્કસ પાત્ર. હવે દલીલ, એક ભૂલ છે, અથવા ભૂલ ઓછામાં ઓછા જોખમ, આ કાર્યક્રમ. તેથી માત્ર પાછા આવો પહેલાંની takeaway છે, હું કદાચ પણ શું કરવું જોઈએ આ કાર્યક્રમ તે વધુ મજબૂત બનાવવા માટે, કોઈ રીત નથી કે જેથી તે કરી શકો છો પણ ભાગ્યે જ કિસ્સાઓમાં, ભાંગી? પ્રેક્ષક: તે NULL નથી તેની ખાતરી કરો. ડેવિડ જે MALAN: તે NULL નથી તેની ખાતરી કરો. તેથી ખરેખર, આ સુપર બનાવવા માટે યોગ્ય, હું કંઈક કરવું જોઈએ ઓ પછી નલ, ન હોય તો આગળ જાઓ અને ચલાવો કોડ આ રેખાઓ છે, જેમાં હું કરી શકો છો તે પછી કે ઇન્ડેન્ટ, અને પછી મારા બંધ તાણવું મૂકવામાં. એક સાથે બે વિચારો બાંધે તેથી સારી. અરે વાહ? પ્રેક્ષક: તમે ઉપયોગ કરી શક્યા એક બદલે, જ્યારે લૂપ છે? ડેવિડ જે MALAN: શકે હું ડુ જ્યારે લૂપ છે? પ્રેક્ષક: --you તેની ખાતરી કરવા માંગો છો તમે ખરેખર [અશ્રાવ્ય] છે. ડેવિડ જે MALAN: શકે તમે ડુ જ્યારે ઉપયોગ? લઘુ જવાબ કોઈ. તમે કરી રહ્યાં છો કારણ કે અન્ય ખૂણે કેસ દાખલ. શબ્દમાળા શૂન્ય લંબાઈ છે. દાખલા તરીકે, હું હમણાં જ દબાવો ક્યારેય Zamyla લખીને વિના દાખલ કરો. હું પાછા એક વાસ્તવિક તમે હાથ કરવા જઇ રહ્યો છું શબ્દમાળા, અમે આખરે જોશો, કે શૂન્ય અક્ષરો છે. તે હજુ પણ એક શબ્દમાળા છે, તે માત્ર સુપર ટૂંકા છે. પરંતુ તમે જ્યારે ડુ ઉપયોગ જો, તમે અકારણ રહ્યા છીએ સાથે કંઈક પ્રયાસ કરો કે જેઓ શબ્દમાળા માટે આદર, અને કંઈ ત્યાં જ હશે. પ્રેક્ષક: વેલ, તમે ન હોય તો શું [અશ્રાવ્ય] s-- જ્યારે ડેવિડ જે MALAN: ઓહ હું જુઓ, રાખો વપરાશકર્તા માંથી શબ્દમાળા મેળવવામાં. તેથી ટૂંકા જવાબ, તમે , અને pestering ચાલુ રાખી શકે તેમને તમે કે શબ્દમાળા આપે છે મેમરી ફિટ પર્યાપ્ત નહીં. ચોક્કસ. હું માત્ર નથી પસંદ કર્યું હતું. તેઓ મને શબ્દમાળા હું આપી ન હોય તો માંગો છો, હું છોડી રહ્યો છું, હું આપી રહ્યો છું. પરંતુ સંપૂર્ણપણે, તે હેતુ માટે, તમે સંપૂર્ણપણે તે કરી શકે. તેથી આ પુસ્તકાલયમાં હેડર ફાઈલો છે આપણે હવે અહીં, આ છે સાથે પરિચિત છો. પ્રમાણભૂત I / O, cs50.h, string.h, ctype.h, અને, ખરેખર, ત્યાં અન્ય છે. તમે કેટલાક શોધ કરી છે math.h. માં ગણિત લાઇબ્રેરી પરંતુ મારા માટે, હવે, તમે દાખલ દો આ સાધન છે કે CS50 સ્ટાફ, Davin, અને રોબ, અને ગાબે ખાસ સાથે મૂકવામાં આવ્યા છે. તે ટૂંક સમયમાં પર લિંક કરશે આ કોર્સ વેબસાઇટ. તે CS50 સંદર્ભ કહેવાય છે. માત્ર તમે ઝડપી આપી છે નીચે પ્રમાણે તેના સ્વાદ, કામ કરે છે. મને reference.cs50.net પર જઈએ. તમે ડાબી બાજુ જોશો જબરજસ્ત યાદી બાજુ સી સાથે આવે છે કે કાર્યો. પરંતુ હું ક્ષણ માટે, કાળજી છે, strlen કંઈક વિશે, હું ત્યાં તે લખી શકો છો. તે યાદી નીચે ફિલ્ટર હું વિશે કાળજી માત્ર શું છે. હું તેને ક્લિક કરો જાઉં છું. અને હવે પર, ડાબી તમે અમે આશા રાખીએ તે જોવા મળશે વધુ સરળ, માનવ છે કેવી રીતે મૈત્રીપૂર્ણ સમજૂતી આ કાર્ય કામ કરે છે. એક શબ્દમાળા લંબાઈ આપે છે. અહીં સારાંશ અહીં છે, તમે કેવી રીતે હેડર ફાઈલ દ્રષ્ટિએ તેનો ઉપયોગ, અને શું આ કાર્ય દ્રષ્ટિએ તેની દલીલો દ્રષ્ટિએ જેવો દેખાય છે. અને પછી અહીં, વળતર શબ્દમાળા લંબાઈ. પરંતુ વધુ આરામદાયક તમે તે માટે, તમે ખરેખર, વધુ આરામપ્રદ ક્લિક કરી શકો છો અને આ સમાવિષ્ટો પાનું, હવે, બદલાશે શું મૂળભૂત કિંમતો હોઈ તમે મેન પેજ ઉપયોગ કરીને છે. CS50 અન્ય શબ્દોમાં, સંદર્ભ એક સરળીકરણ છે વિદ્યાર્થીઓ માટે સ્ટાફ દ્વારા મદદ પાનાંઓ, ના. ખાસ કરીને, તે ઓછી આરામદાયક અને માં, વચ્ચે, જેથી તમે લપેટી પ્રયાસ કરવાની જરૂર નથી તમારા મન આસપાસ, પ્રમાણિકપણે, કેટલાક એકદમ ભેદી વાક્યરચના ક્યારેક અને દસ્તાવેજીકરણ. જેથી ધ્યાનમાં રાખો કે દિવસોમાં આવે છે. અહીં, ફરીથી, એક Zamyla છે. હવે કે એક પ્રશ્ન પૂછો થોડી વધુ માનવ સુલભ. કરવામાં આવી છે જે ચાંગ માટે આભાર, વધુ હાથી છાપવા છેલ્લા કેટલાક દિવસો માટે નોનસ્ટોપ વિમાન. અમે આપવા માટે એક તક છે દૂર તેમને ઓછામાં ઓછો એક. અમે માત્ર એક સ્વયંસેવક વિચાર કરી શકે છે, તો સ્ક્રીન પર ડ્રો પર આવે છે. કેવી રીતે અહીં છે? પર આવો. તમારું નામ શું છે? ALEX: એલેક્સ. ડેવિડ જે MALAN: એલેક્સ. અધિકાર છે. એલેક્સ, પર આવે છે. અમે જોવા માટે જઇ રહ્યા છો તમારા અહીં સ્ક્રીન પર હસ્તાક્ષર. બધા હક છે, તમને મળીને સરસ. ALEX: સરસ તમે મળે છે. ડેવિડ જે MALAN: બધા અધિકાર. તેથી, સુપર સરળ કસરત. બાર ઉચ્ચ નથી આજે એક હાથી છે. તમે GetString ની ભૂમિકા ભજવી છે. અને હું માત્ર તમે કહો જાઉં છું તમે મેળવેલ કર્યું છે શબ્દમાળા. અને, જો તમે તે ધારવું GetString કહેવાય છે. અને માનવ, મારી જેમ, છે Zamyla, ઝેડ એ એમ વાય એલ એ લખ્યો. જસ્ટ આગળ વધો અને પર Zamyla લખવા સ્ક્રીન તમે તેને મેળવેલ છે છતાં અને મેમરી ક્યાંક તે સંગ્રહ થાય છે. ઘણા હશે તે માટે છોડીને રૂમ બરાબર છે કે અન્ય words--, ચાલુ રાખવા. [હાસ્ય] તેથી Zamyla, ઉત્તમ. તેથી હવે ધારો કે જે તમને, GetString, ફરીથી કહે છે. અને તેથી, હું, તમે પૂરી પાડે છે કીબોર્ડ, અન્ય નામ, બેલિન્ડા સાથે. અધિકાર છે. અને હવે આગામી સમય GetString છે કહેવાય છે, હું ગાબે કંઈક લખો જી એ બી ઇ. તમે ખરેખર લઇ રહ્યા છીએ હૃદય રેન્ડમ એક્સેસ મેમરી. જે બધું ચિત્રકામ છે સંપૂર્ણપણે રેન્ડમ. બરાબર. [હાસ્ય] ALEX: માફ કરશો મારા હસ્તાક્ષર ખરાબ છે. ડેવિડ જે MALAN: ના, તે બરાબર છે. અને કેવી રીતે રોબ, આર ઓ-બી વિશે. બરાબર. સારી. તેથી હું તમને કરશે પૂર્વાનુમાન ન હતી પ્રકારની આ રીતે વસ્તુઓ બહાર મૂકે છે. પરંતુ અમે આ કામ કરી શકો છો. તેથી તમે મૂક્યા વિશે કેવી રીતે ક્યાં ગયા હતા મેમરીમાં આ અક્ષરો બહાર? અન્ય શબ્દોમાં, અમે લાગે તો આ લંબચોરસ કાળા સ્ક્રીન એક રજૂ કમ્પ્યુટરની રેમ, અથવા મેમરી. અને તે રેમ માત્ર છે યાદ બાઇટ્સ એક સંપૂર્ણ જથ્થો, અને બાઇટ્સ બીટ્સ સંપૂર્ણ સમૂહ છે. અને બીટ્સ કોઈક છે સામાન્ય રીતે અમલમાં કેટલાક ફોર્મ સાથે હાર્ડવેર માં વીજળી. તેથી કે જે જેવું છે અમે વિશે વાત કરી છે layering માની અને હવે લઇ શકે છે. તમે કેવી રીતે વિશે જવા હતી જ્યાં લખી નક્કી રોબ વિરુદ્ધ ગાબે વિરુદ્ધ Zamyla વિરુદ્ધ બેલિન્ડા? ALEX: હું માત્ર તે કર્યું તમે મને કહ્યું હતું કે ઓર્ડર. ડેવિડ જે MALAN: અને તે સાચું છે. પરંતુ જો તમે જ્યાં મૂકવા સંચાલિત બેલિન્ડા નામ અને ગાબે નામ? ALEX: કંઈ? ડેવિડ જે MALAN: [LAUGHS] તેથી કામ કરે છે, તે દંડ છે. તેથી કમ્પ્યુટર્સ ઓછી છે તે કરતાં વધુ ઓર્ડરલી. અને તેથી અમે ત્યાં રહેવા implement-- જ્યારે જ્યારે ખરેખર અમે માત્ર એક ક્ષણ માટે કંઈક અમલ કમ્પ્યુટર માં GetString, Zamyla ખૂબ ખૂબ નાખ્યો થઈ શકે છે જેમ તમે ત્યાં, સ્ક્રીન પર હતી. અને નોટિસ કી છે અહીં, એલેક્સ શું, છે એક સીમાંકન પ્રકારની છે આ શબ્દો દરેક વચ્ચે, અધિકાર? તમે લખી ન હતી ઝેડ એ એમ વાય એલ એ બી ઇ એલ આઇ એન ડી એ જી એ B-- અન્ય શબ્દોમાં, અમુક પ્રકારના છે લાગે છે કે જે સીમાંકન ની, જેવું, રેન્ડમ અંતર આ વિવિધ શબ્દો વચ્ચે. પરંતુ તે છે, કારણ કે સારી છે આપણે મનુષ્યો હવે આ કરી શકો છો આ છે કે આત્મસાત્ ચાર અલગ અલગ શબ્દમાળાઓ. તે માત્ર એક ક્રમ નથી અક્ષરો ઘણાં. તેથી કમ્પ્યુટર, તો પછી, વચ્ચે, Zamyla જેમ શબ્દમાળા લાગી શકે છે, તે અક્ષરોના દરેક મૂકી મેમરી એક બાઇટ ની અંદર. પરંતુ તે સંખ્યા ખૂબ મોટી છે અલબત્ત, છ અક્ષરો કરતા. RAM ની સંપૂર્ણ સમૂહ છે. અને તેથી અત્યારથી આ બોક્સ ગ્રીડ રહ્યું છે શું એલેક્સ માત્ર પ્રતિનિધિત્વ સ્ક્રીન પર અહીં કર્યું હતું. અને હવે, એલેક્સ, અમે તમને એક ઓફર કરી શકે છે વાદળી અથવા ચાંગ એક નારંગી હાથી. ALEX: હું વાદળી હાથી લેવા પડશે. ડેવિડ જે MALAN: એક વાદળી હાથી. તેથી વધાવી એક મોટી ગોળ, એલેક્સ માટે અહીં, અમે કરી શકે છે. [વધાવી] ALEX: આભાર. ડેવિડ જે MALAN: આભાર. તેથી takeaway છે, તે પણ છતાં પેટર્ન પ્રકારની અહીં, સમય પર બદલાઈ બોર્ડ પર આ હતી વિવિધ શબ્દમાળાઓ વચ્ચે સીમાંકન એલેક્સ અમારા માટે મળી છે. હવે કમ્પ્યુટર્સ, પ્રમાણિકપણે, આ જ વાત કરી શકે. તેઓ પ્રકારની plop શકે ગમે ત્યાં રેમ શબ્દમાળાઓ. અહીં સુધી, અહીં, અહીં, નીચે અહીં નીચે. તેઓ બરાબર છે કે કરી શકે. પરંતુ, અલબત્ત, તે છે કદાચ શ્રેષ્ઠ નથી આયોજન. અધિકાર? હું એલેક્સ પૂછવા રાખવામાં તો નામો મેળવવા માટે, કદાચ તેઓ છો કદાચ અપ, અહીં કેટલાક વધુ નીચે મૂકી અહીં, અહીં, અહીં, આખરે અહીં પર. પરંતુ થોડી વધુ આયોજન સાથે, ચોક્કસપણે, અમે વધુ સ્વચ્છ વસ્તુઓ મૂકે છે. અને ખરેખર, કે જે કોમ્પ્યુટર શું કરે છે. પરંતુ કેચ છે જો હું વિચાર આગામી શબ્દમાળા Zamyla કંઈક છે પછી આ બેલિન્ડા જેમ, અમે લખી શકે છે પ્રસ્તાવ આ ગ્રીડ માટે આદર સાથે બોલ્ડ અક્ષર? જ્યાં તમે જાઓ કરશે? આ એક જમણી માટે, આ એક નીચે z, નીચે? તમારા પ્રથમ વૃત્તિ શું હશે? પ્રેક્ષક: આ z નીચે. ડેવિડ જે MALAN: તેથી z નીચે. અને તે ખૂબ છે સરળ, અધિકાર? તે સુઘડ પ્રકારની છે, તે અમે શું છે કીબોર્ડ પર અમે Enter દબાવો જ્યારે, અથવા ઇમેઇલ એક બનાવવા જ્યારે વસ્તુઓ બુલેટ સૂચિ. પરંતુ વાસ્તવિકતા જે કોમ્પ્યુટર છે વધુ કાર્યક્ષમ હોય છે પ્રયાસ કરો, અને તેટલી ચોક્કસપણે ભીડ શક્ય RAM માં માહિતી, કે જેથી તમે કોઇપણ બાઇટ્સ કચરો નથી. તમે કચરો નથી જેથી કોઈપણ સ્ક્રીન રિયલ એસ્ટેટ. અને સમસ્યા છે, જોકે, કે જે અમે શાબ્દિક પત્ર મૂકી બી એક પછી, અમે કેવી રીતે જવું છે Zamyla નામ જ્યાં અંત થાય ખબર અને બેલિન્ડા નામ શરૂ થાય છે? જેથી તમે માત્ર, સાથે સાથે, સૂચિત માનવીઓ આ અનિવાર્યપણે, કી Enter દબાવો. નીચે નીચે મૂકો. અથવા એલેક્સ હતી પણ, માત્ર લેખન શરૂ અગાઉના એક નીચે આગામી નામ, અને તે એક નીચે, અને પછી તે એક નીચે. તે એક દ્રશ્ય કયૂ છે. એન્જીનિયરિંગ અન્ય દ્રશ્ય કયૂ હોય છે, પરંતુ તે થોડો વધુ succinct છે. આ ફંકી પાત્ર છે. કદાચ કે જે બેકસ્લેશ 0, બેકસ્લેશ n એ યાદ અપાવે, અને તેથી આગળ, હવે. આ ખાસ એસ્કેપ સિક્વન્સ. બેકસ્લેશ 0 ના માર્ગ છે સળંગ આઠ શૂન્ય બીટ્સ રજૂ. 0000 0000. તમે તે વ્યક્ત આ રસ્તો નથી છે તમારા કીબોર્ડ પર નંબર શૂન્ય હિટ, એક ASCII ચાર કે હકીકતમાં છે. તે નંબર જેવી લાગે છે, પરંતુ દશાંશ નંબર ખરેખર છે કે પરિપત્ર રજૂ glyph, ગોળ ટાઇપફેસ. દરમિયાન, બેકસ્લેશ શૂન્ય શાબ્દિક અર્થ થાય છે મારા માટે અહીં આઠ શૂન્ય બાઇટ્સ મૂકો. તેથી આ કંઈક અંશે મનસ્વી છે. અમે કોઈપણ પેટર્ન ઉપયોગ કર્યો છે શકે બિટ્સ, પરંતુ વિશ્વ કેટલાક વર્ષો નક્કી કર્યું પહેલાં, કે પ્રતિનિધિત્વ મેમરીમાં શબ્દમાળા ઓવરને, માત્ર zeros સંપૂર્ણ જથ્થો મૂકો. અમે તે શોધી શકે છે. હવે એનો અર્થ એ થાય કે કોઈ અક્ષર મૂળાક્ષર zeros સાથે રજૂ કરી શકાય છે. પરંતુ તે, અમે પહેલેથી જ જોઇ છે ઠીક છે અમે પર 97 પર 65 ઉપયોગ કરી રહ્યાં છો છે. અમે ગમે ત્યાં નથી બધા zeros માટે બંધ કરો. એક કમ્પ્યુટરની મેમરી બેલિન્ડા તેથી ખરેખર અહીં જાઓ રહ્યું છે. હું પીળા તે દોરવામાં કર્યું છે માત્ર તે માટે અમારા ધ્યાન ડ્રો. અને નોટિસ, પણ, આ સંપૂર્ણપણે મનસ્વી છે. હું એક ગ્રીડ તરીકે દોરવામાં કર્યું છે. જેમ, રેમ માત્ર કેટલાક ભૌતિક પદાર્થ છે. તે જરૂરી નથી પંક્તિઓ અને કૉલમ્સ, સે દીઠ. તે માત્ર બાઇટ્સ એક સંપૂર્ણ જથ્થો મળી છે કોઈક હાર્ડવેર અમલમાં. પરંતુ બેલિન્ડા હું પછી જો ગાબે નામ માં ટાઇપ, તેમણે મેમરી અહીં અંત રહ્યું છે અને હું Daven નામ ટાઇપ જો, દાખલા તરીકે, તેમણે અહીં અંત બનશે. અને હું ચાલુ રાખી શકો છો પણ વધુ નામો લખો. કમનસીબે, હું પ્રયાસ કરો સુપર લાંબા નામ લખો, હું આખરે મેમરી રન આઉટ કરી શકે છે. જે કિસ્સામાં, GetString છે અમે જણાવ્યું હતું કે, નલ પરત ચાલી રહ્યું. પરંતુ thankfully, ઓછામાં ઓછા આ દ્રશ્ય માં અહીં, અમે ખૂબ કે અત્યાર સુધી નથી. હવે શું સારું છે આ છે વસ્તુઓ સારવાર સામાન્ય વિચાર બોક્સ માં છે છે સી એક લક્ષણ પ્રતિનિધિ અને ભાષાઓ ઘણો, એક એરે તરીકે પણ ઓળખાય છે. એક એરે માહિતી અન્ય પ્રકાર છે. જો તમે કરશે તે એ માહિતી બંધારણ છે. ખરેખર તે અર્થમાં માળખું, પ્રકારની, ઓછામાં ઓછા, એક બોક્સ જેવી શોધી તમારા મન આંખ માં. એક એરે એક સંલગ્ન છે સમાન માહિતી પ્રકારના ક્રમ, પાછા પાછળ પાછળ પાછળ. અન્ય તેથી શબ્દમાળા, શબ્દો, અક્ષરો ઝાકઝમાળ છે. અક્ષરો પણ દર્શાવે છે. પરંતુ તે તમે હોઈ શકે છે બહાર વળે વસ્તુઓ જુમખું ના એરે. હકીકતમાં, અમે પણ મૂકી શકો છો ઝાકઝમાળ નંબરો. ફોર્મ તેથી જેમાં અમે શરૂ રહ્યા છીએ આ માહિતી જાહેર એક એરે તરીકે પણ ઓળખાય છે માળખું પણ ચોરસ કૌંસ વાપરો રહ્યું છે. પરંતુ આ ચોરસ કૌંસ જવું છે આ સંદર્ભમાં અલગ અલગ અર્થ ધરાવે છે. અને નીચે પ્રમાણે માતાનો જોવા દો. હું ખોલી ધારો કે અહીં એક નવી ફાઈલ. અને હું ages.c. તરીકે આ સંગ્રહો અને હું અહીં મારા ફોલ્ડરમાં આ સાચવીશું. અને હવે હું આગળ જાઓ જાઉં છું અને કંઈક લખીને શરૂ જેમ સમાવેશ થાય છે, cs50.h સમાવેશ થાય છે stdio.h, મુખ્ય રદબાતલ ઈન્. અને પછી અહીં ની અંદર, હું માંગો છો પ્રથમ ઉંમર કહેવાય પૂર્ણાંક હોય છે. અને હું એક વિચાર કે ઉપયોગ કરવા જઇ રહ્યો છું તેના અથવા તેણીના ઉંમર માટે વપરાશકર્તા માંથી પૂર્ણાંક. પરંતુ આ કાર્યક્રમ દ્વારા વાપરી શકાય રાખવાનો છે ગમે સંદર્ભ માટે ઘણી લોકો,. હું લોકો એક વાક્ય મળી છે. તે બધા લખો છે તેમના કદાચ કેટલાક મને ખબર નથી માટે ઉંમર, સ્પર્ધા, અથવા ઘટના તેઓ માટે આવ્યા છે છે. તેથી આગામી વ્યક્તિ, હું અન્ય ચલ જરૂર છે. હું માત્ર જો કારણ કે ઉંમર getInt નહીં, તે છે જવા clobber, અથવા પર ફરીથી લખી અગાઉના વ્યક્તિ ઉંમર. જેથી કોઈ સારી છે. મારી પ્રથમ વૃત્તિ તેથી હોઈ શકે છે, ઓહ, બધા અધિકાર, હું ઘણી લોકોની મેળવવા માંગો છો ages--, ચાલો આ age1 કૉલ કરો પૂર્ણાંક age2 પૂર્ણાંક નહીં, પૂર્ણાંક age3 getInt નોંધાયો નહીં. અને હવે હું વાપરવા માટે જાઉં છું અહીં કેટલાક સ્યુડોકોડનો કોડ. તે નંબરો સાથે કંઈક કરો. અમે અન્ય દિવસ છોડી જાય છે તે અમે ત્યાં કરી રહ્યા છીએ અમે, કારણ કે માત્ર ક્ષણ કાળજી age1, age2, age3 વિશે. કમનસીબે, હું એક વખત આ કાર્યક્રમ કમ્પાઇલ અને, વાસ્તવિક વપરાશકર્તાઓ સામે મૂકી આ મૂળભૂત ગરીબ ડિઝાઇન છે હું લાગે છે નિર્ણય કર્યો છે? અરે વાહ? AUDIENCE: [અશ્રાવ્ય] ડેવિડ જે MALAN: અરે વાહ, હું પણ પ્રયાસ કર્યો છે કેટલા ઉંમરના બહાર આકૃતિ હું ખરેખર વિશે કાળજી છે? હું અહીં ઓછા ત્રણ લોકો હોય છે, અને તેથી ઓછા ત્રણ વર્ષની વય, હું હજુ પણ અકારણ ત્રણ અપેક્ષા છું. ભગવાન ચાર લોકો બતાવવામાં પ્રતિબંધ. મારા કાર્યક્રમ માત્ર પણ તેમને ટેકો નહીં. અને તેથી આ લાંબા વાર્તા ટૂંકા, સારી ટેવ નથી. અધિકાર? હું અનિવાર્યપણે નકલ કરવામાં આવી હતી અને કોડ પેસ્ટ અને માત્ર tweaking ચલ નામો. અને, મારા દેવ, તમે તો નથી, ત્રણ ઉંમરના, પરંતુ 10, અથવા 100, અથવા 6,500 અંડરગ્રેજ્યુએટ, દાખલા તરીકે. આ ખાસ કરીને નથી ચાલી રહ્યું છે ભવ્ય કોડ છે, અથવા ટકાઉ. તમે કરવા માટે હોય રહ્યા છીએ કાર્યક્રમ દર વખતે લખાણ લખે લોકો ફેરફારો તમારા સંખ્યા. તેથી thankfully અમારા વાસ્તવિક માં આજે ages.c ફાઇલ, અમે એક વધુ હોંશિયાર ઉકેલ છે. પ્રથમ, હું ઉધાર જાઉં છું , અમે થોડા વખત ઉપયોગ કર્યો છે રચવા આ વિચાર કરવા માટે, જ્યારે લૂપ કરો રૂમમાં લોકોની સંખ્યા. હું માત્ર ફરીથી, વપરાશકર્તા પજવણી જાઉં છું અને ફરી, તે અથવા તેણી ત્યાં સુધી મને આપે હકારાત્મક પૂર્ણાંક છે કે એ ની કિંમત. હું ઉપયોગ કરી શકે છે, છેલ્લા સમય માતાનો હકારાત્મક પૂર્ણાંક છે. પરંતુ અમે તે નથી વાસ્તવિક માટે છે, તેથી હું આગળ ગયા અને આ વિચાર અમલમાં કરી રહ્યાં છો. હવે નીચે અહીં, આ નવા યુક્તિ છે. ટિપ્પણીઓ તરીકે વાક્ય 27 માં, રેખા 26 સૂચવે છે, એક એરે જાહેર જેમાં દરેક ઉંમર સંગ્રહવા માટે. તેથી તમે, એક પૂર્ણાંક નથી મેળવવા માંગો છો બે ints, પરંતુ ints સંપૂર્ણ જથ્થો. ખાસ કરીને એ પૂર્ણાંકો હતા એ કદાચ 100 હોઈ શકે છે, ત્રણ છે, 1,000 હોઈ શકે છે. વાક્યરચના, તદ્દન સરળ, છે જેમ કે, તમે શું માહિતી પ્રકાર માંગો છો? તમે કૉલ કરવા માંગો છો શું મેમરી કે ભાગ? તમે ગ્રીડ કૉલ કરવા માંગો છો શું આ pictorially જેવી લાગે છે? અને અહીં કૌંસમાં, તમે કહી કેવી રીતે મોટા તમે એરે પ્રયત્ન કરવા માંગો છો. અને તેથી અગાઉ, જ્યારે હું જણાવ્યું હતું કે વાક્યરચના, અહીં થોડું અલગ છે અમે હજુ પણ ચોરસ કૌંસ ઉપયોગ કરી રહ્યાં છો, પણ હું એક એરે જાહેર છું ત્યારે, આ ની અંદર સંખ્યા ચોરસ કૌંસ અર્થ કેવી રીતે મોટા તમે એરે પ્રયત્ન કરવા માંગો છો નથી. તેનાથી વિપરીત, જ્યારે અમે ઓ ઉપયોગ કરતા હતા કૌંસ હું એક ક્ષણ પહેલા, ઓ, શબ્દમાળા, અક્ષરો ઝાકઝમાળ, ખરેખર છે, પરંતુ તમે એક ચલ જાહેર કરી રહ્યાં છે, અહીં આ શબ્દ સાથે, તમે ખાલી મળી રહ્યાં ચોક્કસ અનુક્રમણિકા, ચોક્કસ કે એરે માંથી તત્વ. અમે ખબર છે કે જાય, બાકીના આ સરળ છે. હું પ્રથમ બહાર છાપો જાઉં છું નવા તો વ્યક્તિ નંબર હું વર્ષની છે. હું માત્ર વ્યક્તિ નંબર એક કહે છે વ્યક્તિ નંબર બે, વ્યક્તિ નંબર ત્રણ. અને હું માત્ર, અંકગણિત કરી રહ્યો છું તેથી કે સામાન્ય લોકો, અમે આ માટે એક ગણતરી કાર્યક્રમ, અને શૂન્ય માંથી. પછી હું GetInt કૉલ, પરંતુ હું સ્ટોર યુગમાં જવાબ હું કૌંસ. જે એરે માં i'th ઉંમર છે. છેલ્લા સમય, જ્યારે અમે સારવાર કરવામાં આવી હતી તેથી Zamyla નામ માટે અક્ષરો તરીકે આ બોક્સ, અને અન્ય. હવે, આ બોક્સ પ્રતિનિધિત્વ 32 બિટ્સ, અથવા ચાર બાઇટ્સ જેમાં અમે સ્ટોર કરી શકો છો પૂર્ણાંક, પૂર્ણાંક, પૂર્ણાંક. જે તમામ, ફરી, તે જ માહિતી પ્રકાર છે. હવે હું કંઈક કોઈ નથી, સમય પસાર કરે છે, જેમ કે માત્ર આ કાર્યક્રમ લખી શકાય. અને પછી નીચે અહીં, હું ફરી ફરી વળવું હવે એક વર્ષ કહેતા એરે પર, વ્યક્તિ નંબર એક ઇચ્છા કંઈક વર્ષનો છે. અને તે બહાર આકૃતિ math-- હું તેનો અર્થ, આ ખૂબ જ અંકગણિત જટીલ નથી હું માત્ર તેમની ઉંમર માટે એક ઉમેરો. જસ્ટ ફરી, આ નિદર્શન. માત્ર હું ઇન્ડેક્સ કરી શકો છો તરીકે શબ્દમાળા માં, ઓ, જેથી ઉંમરના એક એરે માં કરી શકો છો હું અનુક્રમણિકા, ત્યાં કે. તેથી જ્યાં આ અમને લેવા કરી રહ્યું છે? તેથી અમે જોશો, આખરે, એક દિવસોમાં અમુક વસ્તુઓ આવે છે. એક, આ બધા સમય, જ્યારે તમારા પોતાના કાર્યક્રમો લેખન, મારિયો, લોભી, ક્રેડિટ જેવી. તમે નામ લખીને થઈ આ કાર્યક્રમ અને હિટિંગ દાખલ કરો. અને પછી વપરાશકર્તાની ઇનપુટ મેળવવામાં. GetString, GetInt સાથે, GetLongLong, અથવા જેમ. પરંતુ તે છે કે સી આધાર બહાર વળે કંઈક આદેશ વાક્ય કહેવાય અમને દો રહ્યું છે દલીલો, ખરેખર તમે લખો કે શબ્દો પર વિચાર, આ ખીલેલું પ્રોમ્પ્ટ પર, તમારા કાર્યક્રમ નામ છે. , તમે આવવા દિવસોમાં તેથી સીઝર કંઈક લખો શકે છે, અથવા ./caesar ત્યારબાદ નંબર 13,. અમે તે કેવી રીતે કામ કરે છે તે જોવા મળશે. ખરેખર, માં છે સમસ્યા અમે છો, બે સેટ તમે દાખલ કરવા જઈ થોડી કંઈક Ralphie માતાનો યાદ અપાવે માનચિત્રકલાનો અગાઉ પડકાર. માહિતી મૂંઝાયેલું ઓફ આર્ટ. આ હકીકત છે, ખૂબ જ છે Ralphie શું યાદ અપાવે. આ એક એન્ક્રિપ્શન એક ઉદાહરણ છે અલ્ગોરિધમનો, આર ઓ-ટી 13 rot13 કહેવાય છે. જે ખાલી ફેરવવા અર્થ થાય છે મૂળાક્ષર 13 સ્થળોએ અક્ષરો. તમે આ કરી, તો તમે હવે જોશો એક પરિચિત શબ્દસમૂહ, કદાચ, તે છે. પરંતુ જે રીતે અમે ઉપયોગ જઈ રહ્યાં છો આ, આખરે, વધુ સામાન્ય છે. પી માં, પ્રમાણભૂત આવૃત્તિ માં, બે સેટ તમે સાઇફર્સ એક દંપતિ અમલ પડશે સીઝર કહેવાય છે, Vigenere કહેવાય છે. બંને વારાફરતી છે કે સાઇફર્સ, તમે કોઈક અલગ અક્ષર માં એક અક્ષર કરો. અને સીઝર સુપર સરળ છે. તમે, તમે 13 ઉમેરો, એક ઉમેરો અથવા 26 સુધી કેટલાક સંખ્યા. Vigenere પર કરે છે એક અક્ષર દીઠ આધાર. Vigenere તેથી, તમે જોશો સ્પેક માં, વધુ સુરક્ષિત છે. પરંતુ દિવસ ઓવરને અંતે શું , તમે અમલમાં આવશે અને પી બે સેટ તમે બંને ઉપયોગ કરે છે તે કી છે એન્ક્રિપ્શન અને ડિક્રિપ્શન માટે. દેવાનો પ્રક્રિયા ઉલ્લેખ સાદા લખાણ, કેટલાક મૂળ સંદેશ, સાયફર લખાણ, માં જે કંઈક એનક્રિપ્ટ થયેલ છે. અને પછી તેને ફરીથી ડિક્રિપ્ટ. હેકર આવૃત્તિ માં, દરમિયાન, તમે પ્રયત્ન કરીશું જેવું કામગીરી ભાવના, અમે તમને આપી શકશો જ્યાં એક લાક્ષણિક Linux ને, અથવા એક ફાઇલ, મેક, અથવા યુનિક્સ કમ્પ્યુટર કહેવાય Etsy સમગ્ર સમાવે છે પાસવર્ડ, વપરાશકર્તા નામો અને પાસવર્ડો સમૂહ. અને તે પાસવર્ડો બધા છે એનક્રિપ્ટ થયેલ, અથવા hashed કરવામાં, જેથી વધુ યોગ્ય રીતે વાત કરવા માટે તમે સ્પેક જોશો. અને હેકર આવૃત્તિ પડકાર કરશે આ જેવા ઇનપુટ લેવા સાથે તમે, અને પાસવર્ડ ક્રેકીંગ. તે બહાર figuring, શું છે આ માનવ પાસવર્ડ ખરેખર હતી. ખરેખર, પાસવર્ડો હોય છે, કારણ કે સામાન્ય રીતે સ્પષ્ટ સંગ્રહિત નથી, અને સામાન્ય રીતે પાસવર્ડ્સ ધારી હાર્ડ પ્રયત્ન કરીશું. તે ઘણી વખત કેસ નથી. અને શું અમે શું કરશો વિચાર્યું છે એક દંપતિ મિનિટ સાથે તારણ ખાસ કરીને પર નજરે કોઈપણ ગરીબ પસંદગી એક ફિલ્મ તમે અજ્ઞાનપણે યાદ શકે છે. નથી, તો તમે ભાડે જોઈએ. [વિડિઓ પ્લેબેક] -હેલ્મેટ, તમે અતિ ઘાતકી, શું થઈ રહ્યું છે? તમે મારા પુત્રી માટે કરી રહ્યા છે? આ દાખલ મને -Permit તેજસ્વી યુવાન પ્લાસ્ટિક સર્જન, ડોક્ટર ફિલિપ Schlotkin. આ માં મહાન નાક કામ માણસ સમગ્ર બ્રહ્માંડ અને બેવર્લી હિલ્સ. -તમારા મહત્તા. -Nose કામ? હું સમજી શક્યા નથી. તેમણે પહેલેથી જ નાક કામ હતું છે. તે તેના મીઠી 16 હાજર હતો. -કોઈ, તો તે તમને શું લાગે છે નથી. તે ખૂબ, ખૂબ ખરાબ છે. તમે મને આપી નથી તો હવામાં ઢાલ માટે મિશ્રણ, ડૉક્ટર Schlotkin આપશે તમારા પુત્રી તેના જૂના નાક પાછળ. - [Gasps] Nooooooooooooo. જ્યાં તમે તે મેળવી હતી? -બધા અધિકાર. હું કહી શકશો, કહેવું પડશે. -કોઈ, ડેડી, નં. તમે ન કરવી જોઈએ. -You're અધિકાર મારા પ્રિય. હું તમારા નવા નાક ચૂકી પડશે. પરંતુ હું તેમને કહી શકતા નથી સંયોજન કોઈ બાબત શું. સાથે સાથે -Very. ડોક્ટર Schlotkin, તમારા સૌથી ખરાબ હોય છે. -મારી આનંદ. રિલાયેબલ! રાહ જુઓ, રાહ જુઓ. હું કહી શકશો. હું કહી શકશો. હું તે કામ કરશે જાણતા હતા. બધા હક છે, મને તે આપી. -ધ સંયોજન છે. બનાવવું. બનાવવું. -Two. -Two. -Two. -Three. -Three. -Three. -Four. -Four. -Four. -Five. -Five. -Five. મિશ્રણ છે -તેથી, બે, ત્રણ, ચાર, પાંચ. કે stupidest મિશ્રણ છે હું ક્યારેય મારા જીવનમાં સાંભળી. તે વસ્તુ એક પ્રકારનું છે મૂર્ખ માણસ પોતાના સામાન પર હશે. તમારી મહત્તા તમે-આભાર. [દૂરસ્થ ક્લિક્સ] તમે -શું કરી? હું દિવાલ બંધ છે. -કોઈ, તમે, ન હતી સમગ્ર ફિલ્મ બંધ છે. હું must've ખોટું બટન દબાવવામાં. -વેલ, પીઠ પર મૂકી! પીઠ પર ફિલ્મ મૂકો! હા, સર! હા, સર. માતાનો, આર્નોલ્ડ જાઓ -Let. , Gretchen આવો. અલબત્ત તમે હું પડશે ખબર આ માટે તમે બિલ છે. -વેલ? તે કામ કરી છે? રાજા જ્યાં છે? ઇટ, સર કામ કર્યું અમે મિશ્રણ છે. ગ્રેટ. હવે અમે દરેક છેલ્લા શ્વાસ લઈ શકે છે ગ્રહ Druidia માંથી તાજી હવા. મિશ્રણ શું છે? એક, બે, ત્રણ, ચાર, પાંચ. એક, બે, ત્રણ, ચાર, પાંચ? હા. એટલે અદભૂત છે. હું જ મળી છે મારા સામાન પર એકસાથે. માટે 1 Spaceball તૈયાર કરો તાત્કાલિક પ્રસ્થાન. હા, સર. આ બદલો મારા સામાન પર એકસાથે. [બારણું બંધ ધ્વનિ] [દરવાજા ઘંટારવ હેલ્મેટ હિટ] -Ahh. [સમાપ્ત વિડિઓ પ્લેબેક] ડેવિડ જે MALAN: તે માટે છે CS50, અમે આગામી સપ્તાહે તમે જોશો. નેરેટર: અને હવે, ડીપ Daven Farnham દ્વારા વિચારો,. DAVEN Farnham: સી કોડિંગ છે સ્ક્રેચ કરતાં ખૂબ જ મુશ્કેલ. printf, સ્ક્રેચ એક જૂઠાણું હતું. [હાસ્ય soundbite]