>> 1 વક્તા: હાય દરેકને.
અમે પ્રારંભ કરવા માટે જતા હોય છે.
હું લોકો હજુ પણ ચાલુ છે લાગે છે માં ગાળણ છે.
પરંતુ સમય ના હિતમાં, અમે કરી શકો છો જેથી સમય પર અહીં બહાર તમે ગાય્સ વિચાર,
અમે શરૂ રહ્યા છીએ.
તેથી CS50 ક્વિઝ 0 સમીક્ષા પર આપનું સ્વાગત છે.
સમજાયું ન હોય તેવા તમે તે માટે હજુ સુધી, તમે બુધવારે એક પ્રશ્ન છે.
વુ-હુ.
>> તમે હજુ સુધી અભ્યાસ શરૂ ન હોય તો અથવા આ હજુ સુધી અસ્તિત્વમાં છે કે જે સમજાયું છે,
છેલ્લા અંગેની ક્વિઝ અને લગભગ તમામ માહિતી તમારા ક્વિઝ cs50.net/quizzes પર હોય છે.
કેટલાક ખૂબ સારી સામગ્રી ત્યાં છે, 10 છેલ્લા માંથી છેલ્લા અંગેની ક્વિઝ
વર્ષ તેમજ માહિતી આ ક્વિઝ અને મુદ્દાઓ વિશે
કે આવરી લેવામાં આવશે.
તેથી આપણે પ્રારંભ કરીએ.
>> તેથી જો તમે ગાય્સ, પ્રથમ યાદ શકે છે વર્ગ દાઉદના દિવસ તે દીવા પર હતી.
તેથી અનિવાર્યપણે, બધું જાય છે કમ્પ્યુટર ના હૂડ છે હેઠળ પર
બાઈનરી કરવામાં.
બાઈનરી લાગે શું અર્થ થાય છે જેમ, 0 અને 1 ની.
તે બે કિંમતો છે રજૂ કરી શકાય છે.
>> તેથી માત્ર વિભાગ પ્રથમ દિવસે જેમ ડેવિડ પ્રકાશ ચાલુ જ્યારે
બલ્બ અમારા કમ્પ્યુટર પર પ્રતિનિધિત્વ કરે છે, અથવા 1 માટે સમજે 0 તરીકે બાઈનરી અને
1 માતાનો, અથવા બંધ.
બાઈનરી ઓફ ઈપીએસ.
દરેક જગ્યાએ રજૂ થાય છે આધાર બે.
તેથી તમે કરવા માટે 0 થી 2 ઉમેરો 1 બધી રીતે અપ 2 છે.
>> તમારા બાઈનરી છે તે ગણતરી કરવા માટે બાદ, તમે માત્ર આ સમીકરણ અનુસરો
પ્રકાર વસ્તુ.
તમે તે સ્થળોએ કોઇ એક 1 છે, તમારા દ્વારા વધવું ગમે
તે છે આધાર, તે ઉમેરો, અને તમે આ બાદ મળે છે.
તેથી આ તમે ગણતરી કેવી રીતે બાઈનરી માં 5 છે.
જસ્ટ અમે પર શું કરી રહ્યા હતા જેવા છેલ્લા સ્લાઇડ, આ તમે કેવી રીતે કરશે છે
5 દ્વારા 1 પ્રતિનિધિત્વ કરે છે.
>> એ જ રીતે, માત્ર તમે ઉમેરી શકો છો ગમે છે અને બાદ માં સબ્ટ્રેક્ટ અથવા 10 આધાર, અથવા
ખરેખર કોઇ આધાર પર ઉમેરી શકો છો અને બાઈનરી માં સબ્ટ્રેક્ટ.
જ્યારે તમે અપેક્ષા અનુસાર બરાબર શું તે વધારે બરાબર છે, બે ઉમેરો
1 કરતાં, તમે એક 1, તે 0 બનાવવા ચાલુ, અને માત્ર, ઉમેરા તે રીતે કરી
જેમ તમે નિયમિત સાથે અપેક્ષા કરશે બાદ અથવા અન્ય કોઇ આધાર.
કૂલ.
>> હું બધું પહેલાં જણાવ્યું હતું કે, જેમ જેથી અમારા કોમ્પ્યુટર હૂડ હેઠળ જાય
0 અને 1 ની, અથવા બાઈનરી કરવામાં આવે છે.
તેથી અમે વ્યક્ત કેવી રીતે, ઉદાહરણ તરીકે, અક્ષરો, અથવા નંબરો, અથવા અક્ષરો?
અને તે જવાબ તે ASCII છે.
>> ASCII અક્ષરો વચ્ચે મેપિંગ છે અમે સામાન્ય રીતે જોવા છે કે જે
એ, બી જેવા ઇંગલિશ ભાષા, સી, નીચા, ડેશો અને
કે કંઈપણ.
અને તે એક ASCII કિંમત છે કે નકશા.
એક ASCII કિંમત માત્ર એક નંબર છે કે તમારા કમ્પ્યુટર દ્વારા સમજી શકાય છે.
અને તમે ઉપરાંત કરી શકો છો જેમ જ અને નંબરો સાથે બાદબાકી, તમે શું કરી શકો છો
તે ASCII કિંમતો સાથે.
>> આ ઉદાહરણમાં તેથી શું આ છાપશે?
અરે વાહ, તેથી માત્ર એક જગ્યા બી જગ્યા સી જગ્યા ડી જ્યાં મારા માઉસ ક્યાં ગયા હતા?
તમે 65 એક પૂર્ણાંક વ્યાખ્યાયિત કરી શકો છો જુઓ.
અને તમે ઉપયોગ કે છાપે જ્યારે ટકા સી, તે એક કે અર્થઘટન પડશે
અક્ષર અને એ છાપશે
>> એ જ રીતે, તમે જાહેર કરી શકો છો તે ચાર રચે છે.
અને તમે ટકા નો ઉપયોગ કરીને તેને છાપે જ્યારે સી, તે છે કે અર્થઘટન પડશે
ટકા ડી અને તમે ઉમેરી શકો છો જેમ નંબર, તમે અક્ષરો છે ઉમેરી શકો છો
આ કિસ્સામાં તે ASCII કિંમતો.
>> દરેકને માટે તેથી થોડો નિર્દેશક.
5, શબ્દમાળા તરીકે, નથી ખરેખર 5 જેટલી.
તેથી અમે કેવી રીતે કન્વર્ટ શકે પૂર્ણાંક 5 શબ્દમાળા 5?
કોઈપણ વિચારો?
અરે વાહ.
>> તેથી અમે શબ્દમાળા તરીકે 5 હોય તો, અમે 0 સબ્ટ્રેક્ટ કરી શકો છો.
અને તે અમને 5 આપી શકશો.
અને એ જ રીતે, અમે એક તરીકે 5 હોય તો પૂર્ણાંક, શબ્દમાળા 0 કે ઉમેરો.
અને તે અમને શબ્દમાળા 5 આપે છે.
કૂલ.
>> હવે, એક જ્યાં લેક્ચર પાછા યાદ અમે ગાણિતીક નિયમો વિશે વાત કરી.
તેથી અમે ખરેખર કમ્પ્યુટર માંગો છો કેવી રીતે રસપ્રદ વસ્તુઓ કરવા માટે?
તમે માત્ર ઉમેરવા અને બાદબાકી, ખબર નંબરો અને પ્રિન્ટીંગ વસ્તુઓ બહાર નથી
કે આકર્ષક.
સામાન્ય રીતે, અમે અમારી કોમ્પ્યુટર માંગો છો અલ્ગોરિધમનો કેટલાક પ્રકારની કરે છે.
થોડી વધુ જટિલ કંઈક માત્ર સરળ અંકગણિત કરતાં.
>> એક અલ્ગોરિધમનો પગલું સમૂહ દ્વારા માત્ર એક પગલું છે કરવા માટે કેવી રીતે માટે સૂચનો
ચોક્કસ task--
માત્ર એક રેસીપી ગમે છે.
તમે પ્રથમ દિવસે યાદ શકે છે ડેવિડ અમને એક રૂમ ગણતરી હતી જ્યાં વર્ગ
લોકો અને કેવી રીતે ઘણા લોકો રૂમમાં હતા.
તમે ગણતરી માટે ઉપયોગ થઈ શકે છે એક પછી એક.
1, 2, 3, 4.
તે કિસ્સામાં, એક રેખીય સમય અલ્ગોરિધમનો.
>> પરંતુ ડેવિડ માટે અલ્ગોરિધમનો રજૂ તમે રૂમ માં લોકો ગણતરી
દરેક રહે છે, જ્યાં તમે તમારા કહે અન્ય વ્યક્તિ માટે નંબર, કે ઉમેરો
નંબર ઉપર, અને એક વ્યક્તિ નીચે બેસે છે.
અને તમે તે પુનરાવર્તન કરો.
કે અલ્ગોરિધમનો એક પ્રકાર છે.
અમે કેવી રીતે કાર્યક્ષમ એક વિશ્લેષણ કરી શકે છે તે સમય ચાલે છે પર અલ્ગોરિધમનો આધારિત છે.
પરંતુ અમે થોડો વાત કરીશું કે પછી વિશે વધુ.
>> તેથી એ બધા ગાણિતીક નિયમો પણ કરી શકો છો સ્યુડોકોડનો લખી શકાય.
સ્યુડોકોડનો જેમ એક ઇંગલિશ છે વાક્યરચના પ્રતિનિધિત્વ કરવા માટે વપરાય
એક પ્રોગ્રામિંગ ભાષા.
ઉદાહરણ તરીકે, એક વપરાશકર્તા અમે ઇચ્છતા હોય તો પૂછો મારી પ્રિય નંબર ધારી, અમે
જેમ કે સ્યુડોકોડનો હોય શકે છે.
>> એક વપરાશકર્તાઓ ધારી મેળવો.
આ અનુમાન સાચું છે, તો તેમને કહેવું તેઓ યોગ્ય છો, બીજું તેમને કહેવું
તેઓ યોગ્ય નથી.
અને સ્યુડોકોડનો સરળતાથી એક માર્ગ છે એક વિચાર કે એક અલ્ગોરિધમનો રજૂ.
તેથી હવે અમે ખરેખર લખવા માંગો છો શકે છે આ ભાષામાં કે કમ્પ્યુટર
સમજ કદાચ.
જેથી અમે અમારા સ્યુડોકોડનો લખી શકે છે અને સ્રોત કોડ માં કે અર્થઘટન.
>> અત્યાર સુધી, સ્ત્રોત કોડ પાલન કરવું જ જોઈએ ચોક્કસ સિન્ટેક્ષ માટે
એક પ્રોગ્રામિંગ ભાષા.
અને અત્યાર સુધી, CS50 માં, અમે કર્યું મોટે ભાગે સી નો ઉપયોગ કર્યો.
તેથી આ કેચ માટે સ્રોત કોડ હોઈ શકે છે.
પાછળથી દરમિયાન, તમે રાત્રે આવે અન્ય પ્રોગ્રામિંગ સાથે સંપર્કમાં
PHP, જેવી ભાષાઓ.
અથવા તમે પણ, તમે અન્ય વર્ગો લેવા જો જાવા, પાયથોન, કે OCML કરી શકે છે.
પરંતુ અમારા સી કાર્યક્રમ ભાષામાં, આ છે અમે સ્ત્રોત કોડ લખવા શકે છે કેવી રીતે
સ્યુડોકોડનો અલ્ગોરિધમનો કે હું માત્ર અગાઉ વર્ણન.
>> આમ કેવી રીતે ખરેખર તમારા કમ્પ્યુટર કરે છે સમજો કે?
હું માત્ર ખરેખર, તે પહેલાં જણાવ્યું હતું કે zeros અને મુદ્દાઓ સમજે છે.
આમ કેવી રીતે તે સ્ત્રોત માંથી મળી નથી બની શકે છે કે જે કંઈક માટે કોડ
સમજી?
વેલ, અમે કંઈક હોય કમ્પાઇલર કહેવામાં આવે છે.
>> તમે મોટા ભાગના પાછા યાદ તો તમારા psets, તમે કાર્યક્રમ માટે અમુક પ્રકારના હતી
કોઈ સી ફાઈલમાં લખાયેલ છે.
અને પછી તમે બનાવવા લખો કરશે.
તેથી શું કરી કરી છે?
>> તમે કમ્પાઇલ બનાવવા લખી શકો છો તમારા કાર્યક્રમ someone-- કારણ કે
રહેલી વ્યકિત તમારા પૃષ્ઠ સેટ લખ્યું; કદાચ David--
એક મેક ફાઈલ બનાવી છે.
અને તે ચલાવવા માટે ખબર બનાવવા કહે છે તમારા કમ્પાઇલર, રણકાર કહેવાય છે, કે જે ઇચ્છા
પછી વાંધો તમારા સ્રોત કોડ કમ્પાઇલ zeros અને મુદ્દાઓ કે જે કોડ છે,
તમારા કમ્પ્યુટર સમજે છે.
પરંતુ પાછળથી થોડો, અમે જશે કમ્પાઇલરોનો વિશે ઊંડાણપૂર્વક વધુ.
>> તેથી યાદ 0 pset, છે જ્યાં હા, તમે એક પ્રશ્ન છે?
>> AUDIENCE: [અશ્રાવ્ય]?
>> 1 વક્તા: હા.
હું ખરેખર તેઓ લાગે છે ઓનલાઇન પ્રયત્ન કરીશું.
અરે વાહ.
>> પ્રેક્ષક: તે [અશ્રાવ્ય] જેવા છે?
>> 1 વક્તા: તે નથી.
આ cs50.net/quizzes પર હોય છે.
>> પ્રેક્ષક: સ્લેશે અંગેની ક્વિઝ, 2013 સ્લેશ 0 સ્લેશ, અને માત્ર મારફતે ક્લિક કરો
અંગેની ક્વિઝ 2013 અને 0 ક્વિઝ, વિભાગ સ્લાઇડ્સ સમીક્ષા કરો.
>> 1 વક્તા: અરે વાહ, જેથી તમે ગાય્સ કરવા માંગો છો તેને ખેંચી અને તેને જોવા તમારા
પોતાના કોમ્પ્યુટર, કે ખૂબ સરસ.
ફરીથી કહો.
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અરે વાહ, [અશ્રાવ્ય] આ ડમી ચલ છે.
હા, ઓહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> 1 વક્તા: ના, હડતાલ પરીક્ષા પર નથી.
માફ કરશો, હતી તેના પ્રશ્ન હતો પરીક્ષા પર હડતાલ.
અને તે નથી.
તેથી 0 pset, તમે ગાય્સ તમામ હોવા જોઈએ શરૂઆતથી ઉપયોગ કંઈક અમલ.
અને અમે કેટલાક મૂળભૂત પ્રોગ્રામિંગ શીખી શરૂઆતથી ઉપયોગ રચનાત્મક.
>> તેથી આપણે કેટલાક પર એક નજર આ મકાન બ્લોક્સ
એક કાર્યક્રમ છે કે બનાવે છે.
પ્રથમ બુલિયન અભિવ્યક્તિ છે.
બુલિયન સમીકરણો થાય છે અને છે કે 0 કે કંઈપણ
બે શક્ય કિંમતો.
આ કિસ્સામાં, સાચું કે ખોટું, પર અથવા બંધ છે, અને કોઈ અથવા હા.
ખૂબ જ સરળ, સરળ ઉદાહરણ, બુલિયન વાપરે છે કે કાર્યક્રમ
અહીં અભિવ્યક્તિ છે.
>> તેથી માટે બુલિયન સમીકરણો માટે ક્રમમાં ઉપયોગી હોઈ શકે છે, અમે બુલિયન ઓપરેટરો છે.
આ વાપરી શકાય છે કે ઓપરેટરો છે ચોક્કસ કિંમતો સરખામણી.
તેથી અમે હોય છે અને નથી અથવા સમાન, ઓછી કરતાં અથવા કરતાં વધુ માટે સમાન અથવા
બરાબર છે, અને કરતા ઓછી કરતાં અથવા તેથી વધુ.
પરંતુ આ ઓપરેટરો ખૂબ જ ઉપયોગી નથી અમે તેમને ભેગા કરી શકો છો જ્યાં સુધી
શરતો.
>> તેથી જો તમે ગાય્સ શરૂઆતથી યાદ શકે છે અને તમારા પૃષ્ઠ થી અમે તે સુયોજિત કરે છે
શરતો હતી.
તેઓ માં ફોર્કનો જેમ, અનિવાર્યપણે, છે તમારા કાર્યક્રમ તર્ક છે
તેના પર આધાર રાખીને ચલાવે છે એક શરત મળ્યા છે.
અમે હતી કે શરતો તેથી એક આ કોર્સમાં અનેક વખત વપરાય છે
બીજું, જો, અને બીજું શરતો, જો.
>> અહીં કેવી રીતે એક ઉદાહરણ છે તમે તે ઉપયોગ કરી શકે છે.
કોઈને વચ્ચે તફાવત ખબર નથી માત્ર નિવેદનો બધા જો મદદથી
જો, બીજું છંદો નીચે જે રીતે, જો, અને બીજું સંયુક્ત?
હા?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: ચોક્કસ.
તેથી હું હોય તો જો આ નીચે બધી રીતે આ રીતે, પણ આ સ્થિતિ વળતર જો
સાચું છે, તે હજુ પણ ચાલુ રહેશે આગામી બે પરીક્ષણ.
, જ્યારે એક બીજા-તો એક બીજા સાથે નિવેદન, એક સાચું આપે છે,
અન્ય પરીક્ષણ નથી.
તે વિશે કોઈ પ્રશ્ન?
કૂલ.
>> તેથી જો તમે એક બીજા એક જો-બીજું ઉપયોગ તમે જાણો છો જો નિવેદન કે તે માત્ર આ કરી શકો છો
આ કિસ્સાઓમાં એક છે.
એક્સ કરતાં ઓછી 0 છે તેથી જો અમે તે છે, ખબર ચોક્કસપણે નથી ચાલી રહ્યું
0 કરતાં મોટો.
>> આગળ, અન્ય મકાન બ્લોક અમે શીખ્યા કે આંટીઓ છે.
અમે આંટીઓ ત્રણ પ્રકારના હોય છે.
આંટીઓ માટે, આંટીઓ જ્યારે, અને આંટીઓ જ્યારે નથી.
અને સામાન્ય રીતે, તમે જ્યારે માટે નીચે બેસી કંઈક લખી, તમે નક્કી કરવા માટે હોય છે
તમે ઉપયોગ કરવા માંગો છો ત્રણ છે.
તેથી અમે કેવી રીતે એક કે જે નક્કી કરે છે?
>> આપણે જાણીએ છીએ કે જો અમે સામાન્ય રીતે લૂપ માટે ઉપયોગ કેટલી વખત અમે ભારપૂર્વક કહેવું કરવા માંગો છો
કંઈક મારફતે અથવા કેટલી વખત અમે એક કાર્ય કરવા માંગો છો.
અમે કેટલાક જરૂર હોય તો અમે આંટીઓ જ્યારે ઉપયોગ સ્થિતિ ચાલુ રાખવામાં વાત સાચી છે.
અને અમે ખૂબ સમાન છે, જ્યારે શું ઉપયોગ જ્યારે, પરંતુ અમે અમારી કોડ પર ચલાવવા માંગો છો
ઓછી એક સમય.
>> ડુ માં ગમે તેથી, જ્યારે થશે હંમેશા ઓછામાં ઓછી એક સમય ચાલે છે.
, જ્યારે જ્યારે સાથે, તે બધા જો ચલાવી શકો છો
શરત સંતુષ્ટ નથી.
તે સાથે કોઈપણ પ્રશ્ન છે?
>> લૂપ માટે તેથી માળખું.
તમે ગાય્સ આ જોવા મળે છે.
તમે પ્રારંભ.
તમે શરત અમુક પ્રકારના હોય છે.
તેથી, ઉદાહરણ તરીકે, અમે પ્રારંભ કરી શકે છે માટે હું 0 સમકક્ષ હોય છે.
હું 10 કરતાં ઓછી છે.
અને હું ++.
અમે કર્યું છે કે ખૂબ જ સરળ છે.
>> જ્યારે લૂપ માટે, એ જ રીતે, તમારી પાસે આરંભ અમુક પ્રકારના હોય છે,
શરત અમુક પ્રકારના છે, અને સુધારા અમુક પ્રકારના.
તેથી અમે પણ લૂપ માટે અમારા અમલ કરી શકે છે જ્યારે લૂપ તરીકે આ મદદથી.
અને એ જ રીતે ડુ જ્યારે લૂપ સાથે, અમે કેટલાક આરંભ હોય શકે છે,
, કંઈક ચલાવો તેને સુધારવા, અને પછી સ્થિતિ તપાસો.
>> તેથી હવે કાર્ય કરે છે.
અમે એક સાથે બધું મૂકી.
અમે કેટલાક લખવા માંગો છો શકે છે કાર્ય પ્રકારની.
સામાન્ય કાર્ય કે તમે કદાચ પહેલેથી જ જોવા મળે છે મુખ્ય છે.
મુખ્ય કાર્ય છે.
તે વળતર પ્રકાર, પૂર્ણાંક છે.
તે મુખ્ય કાર્ય નામ, છે.
અને તે દલીલો, argc અને argv છે.
તેથી મુખ્ય માત્ર એક કાર્ય છે.
>> તમે ઉપયોગ હોઇ શકે છે અન્ય કાર્યો, કે, printf printf એક કાર્ય છે
GetInt, toupper.
પરંતુ આ હોવાનું થાય દ્વારા અમારા માટે અમલમાં
પુસ્તકાલય અમુક પ્રકારના.
તમે ગાય્સ સહિત યાદ તો આ CS50.h પુસ્તકાલય અથવા
ધોરણ I / O લાઇબ્રેરી.
હા, પ્રશ્ન?
>> પ્રેક્ષક: સી માત્ર સહજ મુખ્ય છે?
તે માત્ર પ્રકારની [અશ્રાવ્ય] છે?
>> 1 વક્તા: આ પ્રશ્ન છે મુખ્ય જો સી અંતર્ગત છે.
અને હા, બધા કાર્યો એક મુખ્ય કાર્ય છે.
તે પ્રકારની કમ્પ્યુટર માટે જરૂરી છે શરૂ કરવા માટે જ્યાં ખબર
આ કોડ ચાલી રહ્યું છે.
>> પ્રેક્ષક: તેથી તમે નથી [અશ્રાવ્ય]?
>> 1 વક્તા: ના
કોઈપણ અન્ય પ્રશ્નો છે?
કૂલ.
તમે એક કાર્ય ઉપયોગ કરી શકો છો તેથી જેમ કે તમારા માટે લખેલું, તમે પણ કરી શકો છો
તમારા પોતાના કાર્ય લખો.
આ સૂચવે છે કે કોઈ વ્યક્તિ કદાચ એક કાર્ય છે વોલ્યુમ ગણતરી માટે લખ્યું છે
ઉદાહરણ તરીકે એક સ, ના.
વળતર પ્રકાર આ કિસ્સામાં, અહીં છે પૂર્ણાંક અમારા કાર્ય નામ સ અને અમારી
પરિમાણો યાદી.
>> અને તમે માહિતી લખી છે કે નોંધ તમે કરવા માંગો છો પરિમાણ પ્રકારના
વાપરો અથવા કાર્ય નથી બીજું પ્રકારની શું ખબર
પરિમાણ હું સ્વીકારી જોઈએ.
તેથી, આ કિસ્સામાં, અમે માંગો છો અમારા ઇનપુટ તરીકે પૂર્ણાંક.
તેથી શા માટે અમે વિધેયો ઉપયોગ કરવા માંગો છો શકે છે?
>> તમામ પ્રથમ, સંસ્થા માટે મહાન.
તેઓ તમારી કોડ વિભાજન મદદ વધુ હિસ્સામાં આયોજન અને બનાવવા
તેને સરળ વાંચવા માટે.
સરળતા.
આ ડિઝાઇન માટે સારી છે.
તમે કોડ એક ભાગ વાંચી રહ્યા છો, ત્યારે અને મુખ્ય કાર્ય, ખરેખર છે
ખરેખર લાંબા, તે મુશ્કેલ બની શકે છે શું થઈ રહ્યું છે તે વિશે કારણ.
તેથી જો તમે કાર્ય માં તોડી છે, તે વાંચવા માટે સરળ હોઈ શકે છે.
અને ફરી ઉપયોગ-ક્ષમતા.
તમે કોડ એક ભાગ હોય છે કે કહેવાય કે ઘણી વખત ચલાવો,
તેના બદલે તે કોડ 10 વખત પુનર્લેખન ના તમારી મુખ્ય કાર્ય, તમે કદાચ
તે ફરી ઉપયોગ કરવા માંગો છો.
અને પછી દર વખતે તમે કે ઉપયોગ કરવાની જરૂર કોડ ઓફ ભાગ છે, કાર્ય ફોન કરો.
>> તેથી હવે અમે પાછા ખંજવાળી યાદ છે, અમે પણ થોડા ખ્યાલો વિશે વાત કરી
જે એક threading છે.
થ્રેડ ઘણી ખ્યાલ છે કોડ ક્રમ
તે જ સમયે ચલાવવા.
તેથી ડેવિડ હતી જ્યાં એક દિવસ પાછા લાગે તમે ગાય્સ સંખ્યા બોલ ગણતરી
રૂમમાં લોકો.
>> આવશ્યકપણે, શું થવાનું હતું તમે ગાય્સ તમામ છે હતા
અલગ થ્રેડો ચાલી રહ્યું છે.
અને તે થ્રેડો સાથે આવી હતી જવાબ અમુક પ્રકારના વિચાર.
એ જ રીતે, સ્ક્રેચ માં, તમે જ્યારે છે બહુવિધ sprites, તમે કદાચ
એક બિલાડી અને એક કૂતરો છે.
અને તેઓ એક સાથે હશે પોતાના સ્ક્રિપ્ટો ચાલી રહ્યું છે.
કે threading એક ઉદાહરણ છે.
>> અને અન્ય ખ્યાલ હતો શરૂઆતથી માં રજૂ ઘટનાઓ હતી.
અને ઘટનાઓ જ્યારે ઘણા ભાગો છે તમારો કોડ એકબીજા સાથે વાતચીત.
તમે ઉપયોગ કરવામાં આવે ત્યારે સ્ક્રેચ, આ હતો પ્રસારણ નિયંત્રણ અને જ્યારે હું
બ્લોક્સ પ્રાપ્ત કરો.
>> અને પણ, સમસ્યા સેટ 4, અમે જોયું તેમજ ઘટનાઓ થોડો.
તમે ગાય્સ ઉપયોગ છે શકે આ Gevent પુસ્તકાલય.
અને એક કાર્ય હતી waitForClick જેમાં તમે રાહ જોઈ હતી
વપરાશકર્તા ક્લિક કરો માટે.
અને તમારા ક્લિક, આ કિસ્સામાં, હશે ક્લિક માટે ઘટના અને રાહ જુઓ તમારા છે
ઘટના સંભાળનાર.
>> અને પણ, તમારા psets સમગ્ર ચાલી અને તમારા psets પર કામ, તમે
સાથે સંપર્કમાં આવે છે શકે છે આ આદેશો કેટલાક.
આ તમને ટાઇપ છે તમારા ટર્મિનલ વિન્ડો અથવા જે વિન્ડો
કે, તમારા જી ફેરફાર કરો પર બતાવે છે અનિવાર્યપણે, તમારા કમ્પ્યુટર શોધખોળ કરો.
>> તેથી, ઉદાહરણ તરીકે, LS યાદી આપે છે આ એક ડિરેક્ટરીના સમાવિષ્ટો.
ડિરેક્ટરી નવું ફોલ્ડર બનાવે બનાવો.
સીડી, ફેરફાર ડિરેક્ટરી.
આરએમ, દૂર કરવા, ફાઈલ કાઢી નાંખે છે અથવા અમુક ડિરેક્ટરી.
અને પછી ડિરેક્ટરી દૂર ડિરેક્ટરી દૂર કરે છે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> 1 વક્તા: અરે વાહ, તેની ખાતરી કરો.
માફ કરશો, આ પ્રશ્ન હતો જો તમે આ મૂકી સૂચવે કરશે
આ ખાણિયાઓને છેતરે છે શીટ પર.
તે મદદ કરી શકે છે.
તમે રૂમ હોય, તો તમે તેના પર મૂકી શકો છો.
તે પણ પર્યાપ્ત માત્ર સામાન્ય રીતે સારી છે તમે તેનો ઉપયોગ કારણ કે જ્યારે યાદ
તમે કરવા માંગો છો શકે માત્ર તે યાદ છે.
તે તમારા જીવન ખૂબ સરળ બનાવવા પડશે.
હું તમારા પ્રશ્નનો જવાબ છે?
>> તેથી હવે, અમે થોડો વાત કરી પુસ્તકાલયો વિશે થોડા સમય.
પરંતુ બે મુખ્ય મુદ્દાઓ અમે કરી છે કે અત્યાર સુધી દરમિયાન છે ઉપયોગ
પ્રમાણભૂત I / O અને CS50.
વસ્તુઓ કેવા પ્રકારની સમાવેશ થાય છે પ્રમાણભૂત I / O લાઇબ્રેરી છે?
>> અરે વાહ, અત્યાર સુધી અમે printf ઉપયોગ કર્યા.
CS50 માં, અમે GetInt ઉપયોગ કર્યો છે અને GetString.
અને માહિતી પ્રકાર શબ્દમાળા પણ થાય આ CS50 પુસ્તકાલય જાહેર છે.
અમે વિશે ઊંડાણપૂર્વક થોડી વધુ વાત કરીશું કેવી રીતે પુસ્તકાલયો કામ કરે છે અને કેવી રીતે તેઓ
તમારો કોડ બાકીના સાથે ક્રિયાપ્રતિક્રિયા કરે છે.
પરંતુ તે બે મુખ્ય મુદ્દાઓ છે કે અમે અત્યાર સુધી માં સાથે સંપર્કમાં આવે છે
કોર્સ.
>> પ્રકાર.
આ કેટલી યાદ સારા છે દરેક પ્રકાર કેવી રીતે અથવા રજૂ થાય છે
ઘણા બાઇટ્સ પ્રકાર દરેક requires--
પૂર્ણાંક, 4 બાઇટ્સ; ચાર, 1 બાઈટ.
રહેલું 4 બાઇટ્સ છે.
ડબલ શું છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અરે વાહ, તેથી ફ્લોટ પરંતુ માપ બમણો છે.
શું લાંબા વિશે શું?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: ઠીક.
લાંબા શું છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અરે વાહ, પૂર્ણાંક બમણો છે.
હા.
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: લાંબા [અશ્રાવ્ય].
અને પછી લાંબા લાંબા કે ડબલ છે.
>> પ્રેક્ષક: ના, કોઈ.
એક લાંબા માત્ર પૂર્ણાંક છે.
તે આર્કીટેક્ચર પર આધાર રાખે છે પહેલાં [અશ્રાવ્ય]
અને પૂર્ણાંક જ માપ છે.
[અશ્રાવ્ય].
>> 1 વક્તા: તેથી લાંબા અને પૂર્ણાંક જ છે.
અને પછી લાંબા લાંબા ડબલ પૂર્ણાંક છે.
કૂલ.
અને પછી, છેલ્લા પ્રકાર શું છે?
>> પ્રેક્ષક: પોઇન્ટર.
>> 1 વક્તા: અરે વાહ, તેથી અમે શીખ્યા પોઇન્ટર વિશે થોડુંક.
અને અનુલક્ષીને નિર્દેશક શું છે તે to-- પોઇન્ટ ચાર રચે સ્ટાર હોઈ શકે
અથવા પૂર્ણાંક star--
તે હંમેશા એક નિર્દેશક માટે 4 બાઇટ્સ છે.
તે વિશે પ્રશ્નો?
હા?
>> AUDIENCE: [અશ્રાવ્ય]?
>> 1 વક્તા: તેથી લાંબા અને પૂર્ણાંક છે આ CS50 ઉપકરણ એ જ.
>> પ્રેક્ષક: આ સાધન સંપૂર્ણપણે છે વિનિમયક્ષમ.
>> 1 વક્તા: યાહ.
તેથી પછી લાંબા લાંબા ડબલ પૂર્ણાંક છે.
>> પ્રેક્ષક: આ 32 બીટ છે?
>> 1 વક્તા: 32 બીટ, હા.
>> પ્રેક્ષક: તેથી [અશ્રાવ્ય]?
>> 1 વક્તા: હા, તે નહી હોય તો બાહ્ય રીતે, તમે કહી
32 બીટ ધારે જોઈએ.
>> પ્રેક્ષક: તે કંઈક કહે છે એક ધારી રહ્યા છીએ જેમ
સાધન જેમ સ્થાપત્ય.
64 બીટ, માત્ર વસ્તુઓ માટે કે ફેરફાર લોન્ગ્સ અને પોઇન્ટર છે.
તેઓ બંને [અશ્રાવ્ય].
>> 1 વક્તા: હા?
>> પ્રેક્ષક: પ્રશ્ન.
આ પ્રથા અંગેની ક્વિઝ એક પર તેથી, તે સહી થયેલ નહિં પૂર્ણાંક વિશે પૂછે છે.
તેથી કેવી રીતે નક્કી કરી શકે છે પૂર્ણાંક [અશ્રાવ્ય] છે?
>> 1 વક્તા: એક સહી થયેલ નહિં પણ 4 બાઇટ્સ છે.
પરંતુ સહી વિશે અલગ છે પૂર્ણાંક અને સહી થયેલ નહિં પૂર્ણાંક?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અધિકાર.
એક નકારાત્મક કિંમતો પ્રતિનિધિત્વ કરી શકે છે.
પરંતુ કેવી રીતે તે કરે છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અરે વાહ, તે 1 બચાવે બીટ સાઇન પ્રતિનિધિત્વ.
સહી આ એક બીટ છે સાઇન રજૂ કરે છે.
અને સહી થયેલ નહિં માત્ર બધા ધન છે.
>> પ્રેક્ષક: બરાબર.
તેથી તમે ડબલ છે કહે છે કે ફ્લોટ ની બે વાર માપ?
>> 1 વક્તા: ડબલ બે વાર છે ફ્લોટ માપ, હા.
>> પ્રેક્ષક: નિર્દેશક કરે છે કેવી રીતે એક લાંબા સમય સુધી લાંબા [અશ્રાવ્ય]?
>> 1 વક્તા: કરે છે કે કેવી રીતે તેથી પ્રશ્ન છે લાંબા લાંબા માટે નિર્દેશક
કેવી રીતે માત્ર ચાર બાઇટ્સ જ્યારે છે તેના 8 બાઇટ્સ લાંબા લાંબા.
તેથી નિર્દેશક શું છે યાદ રાખો કે, અનિવાર્યપણે, આ ખૂબ જ આધાર કિંમત પર.
>> AUDIENCE: [અશ્રાવ્ય].
>> 1 વક્તા: અરે વાહ, જેથી નિર્દેશક માત્ર એક મેમરી સ્થાન છે.
તેથી તે કેટલી જગ્યા તો કોઈ વાંધો નથી કે નિર્દેશક પોઇન્ટ છે.
તે માત્ર ત્યારે જ ટ્રેક રાખવા માટે 4 બાઇટ્સ જરૂર કે મેમરી સ્થાન.
કોઈપણ અન્ય પ્રશ્નો છે?
કૂલ.
>> તેથી છેલ્લા વસ્તુ હું પ્રમાણભૂત આઉટપુટ છે.
તમે વારંવાર તેમને ઉપયોગ કરવો જોઈએ તમે યાદ કરી શકો છો તે પર્યાપ્ત.
અમે ઉપયોગ પરંતુ જ્યારે આ છે printf, ઉદાહરણ તરીકે.
અને અમે આ જગ્યામાં છે કે બંધારણમાં કોડ કહેવાતા હતા.
>> તેથી પૂર્ણાંક માટે ટકા સી ચાર, ટકા હું, અને અમે પણ ટકા ડી વાપરી શકો છો.
તે જ વાત છે.
પરંતુ, સામાન્ય રીતે, માં CS50 અમે ટકા હું ઉપયોગ કરવાનો પ્રયાસ કરો.
ફ્લોટ માટે ટકા એફ.
લાંબા લાંબા સમય માટે ટકા એલડી અને શબ્દમાળા માટે ટકા છે.
>> એ જ રીતે, અમે થોડા ઉપયોગ કરી રહ્યો છું આ એસ્કેપ ક્રમાંકો.
ઉદાહરણ તરીકે, બેકસ્લેશ માટે એ નવી લાઇન માટે.
આ તમે ફોર્મેટિંગ કરી રહ્યા હો ત્યારે માટે માત્ર છે પ્રિન્ટ એફ માટે તમારા કોડ.
હા?
>> પ્રેક્ષક: ટકા ડી શું છે?
>> 1 વક્તા: તેથી પ્રશ્ન ટકા ડી માટે શું છે?
ટકા ડી ints માટે છે.
ટકા ડી અને ટકા હું જ છે.
>> પ્રેક્ષક: વચ્ચે તફાવત શું બેકસ્લેશ n એ અને બેકસ્લેશ આર?
>> 1 વક્તા: તેથી પ્રશ્ન એ શું છે તીવ્ર નકારાત્મક પ્રતિક્રિયા એ અને વચ્ચે તફાવત
તીવ્ર નકારાત્મક પ્રતિક્રિયા આર?
હું બેકસ્લેશ આર લાગે ઠીક
>> પ્રેક્ષક: તેથી બેકસ્લેશ આર ફક્ત સૂચિત લીટી શરૂઆત આપે છે
ખરેખર એક નવી લાઇન રહ્યા વગર.
તેથી જો તમે એક બેકસ્લેશ આર છાપો અને તમે જો લીટી શરૂઆત પર પાછા જાઓ
પછી તમે પર ફરીથી લખી, વધુ સામગ્રી છાપી પર પહેલાથી જ છે કે સામગ્રી
[અશ્રાવ્ય].
જ્યારે, એ ખરેખર નવી જાય લાઇન અને [અશ્રાવ્ય] જાય છે.
>> 1 વક્તા: ઠીક છે, કોઈ અન્ય પ્રશ્નો છે?
અધિકાર છે.
હું તેને હાથ કરવા જઇ રહ્યો છું ચાલુ રહેશે જે ડેન.
>> [વધાવી]
>> DAN: બધા righty.
તેથી હું અન્ય વિશાળ વિશે વાત કરવામાં આવશે છે કે વર્ગ વિચારો શ્રેણી
લગભગ સપ્તાહ બે પ્રતિનિધિ અને સપ્તાહ ત્રણ શરૂઆત બંધ શરૂ
માત્ર એક માર્ગ છે, જે કાસ્ટિંગ સાથે ચોક્કસ પ્રકાર ની કિંમત તરીકે સારવાર
એક અલગ પ્રકાર ની કિંમત.
તેથી અમે માટે અક્ષરો સાથે કરી શકો છો ints, ints માટે તરે, અને
લાંબા લોન્ગ્સ ડબલ.
>> આ બધી બાબતો રીતે તરીકે વાપરી શકાય છે કેટલાક આંકડાકીય કિંમત સારવાર
કેટલાક અન્ય તરીકે ઓછા ચાર આંકડાકીય મૂલ્ય.
કેટલાક મુદ્દાઓ આ છે, સાથે છે તેથી તમે પડેલા ત્યારે આવે છે, જે અલબત્ત,
ints માટે ફ્લોટ જેવી વસ્તુઓ.
તેથી આ થોડી વિચિત્ર છે.
અમે 1.31 છે કે ફ્લોટ છે.
અમે 10,000 દ્વારા વધવું.
અને પછી અમે પૂર્ણાંક તરીકે છાપો.
આ ઉત્પાદન શું છે?
10,000 વખત 1.31.
તેથી 13,000, આ અનુમાન છે?
>> પ્રેક્ષક: હું તે 10,000 લાગે.
>> DAN: તેથી હું 10,000 દ્વારા ગુણાકાર છું હું તે નિર્ણાયક છું પહેલાં.
>> પ્રેક્ષક: ઓહ.
ત્યાં એક 9 નહીં હોય અને કેટલાક 0 નંબરો?
>> DAN: તમે કેટલાક વિચિત્ર અંકો હોય છે.
તેથી અધિકાર, તે 1.3 વખત 10,000 છે.
જેથી 13,000 છે.
અને આ વધારાની weird--
>> પ્રેક્ષક: 13.100.
>> DAN: 13.100.
, રોબ આભાર.
અને આ વધારાની weirdness--
આ 9,9--
છે માત્ર આ કાસ્ટિંગ કારણ કે અંત નીચે જ્યાં rounding
તે ન હોવી જોઇએ.
અરે વાહ.
>> પ્રેક્ષક: આ કાસ્ટિંગ થાય જે કંઈપણ પછી?
>> DAN: કારણ કે તેથી હું તે મુદ્રિત આ છે તે પહેલાં આ ગુણાકાર કરે
આ કાસ્ટિંગ છે.
>> AUDIENCE: [અશ્રાવ્ય].
>> DAN: હું તે પ્રથમ ભૂમિકા લાગે હા, 10,000 જે હશે.
બીજું કંઈપણ?
કૂલ.
તેથી આ 13.099 છે.
શા માટે બને છે?
અશુદ્ધિ.
>> તરે સંપૂર્ણ નથી.
તેઓ માત્ર એક નંબરો પ્રતિનિધિત્વ કરી શકે છે નોંધપાત્ર આધાર ચોક્કસ સંખ્યા.
અમે 8 સિગ અંજીર છાપે તેથી જો આ ફ્લોટ, અમે એક પ્રકારની વિચાર
નીચ જોઈ સંખ્યા.
અને તે છે કારણ કે 1.31 ચોક્કસ નથી કરી શકો છો સરળ દ્વારા રજૂ કરી
મશીન બે સત્તાઓ.
તે નજીકના લઈ થાય તેથી જે થાય, ધારી
થોડી ઓછી છે.
અર્થમાં બનાવે છે?
બરાબર.
>> હવે, સ્વિચ એક અલગ રીત છે શરતી નિવેદનો જ્યાં બધા કરી
અમે એક ચલ છે વિશે કાળજી.
તેથી આ ચોક્કસ ઉદાહરણ, અમે છો વપરાશકર્તા માંથી પૂર્ણાંક મેળવવામાં.
અને પછી અમે જોઈ રહ્યા છો કે પૂર્ણાંક શું છે.
કદાચ, તે નંબર છે એક અને ચાર વચ્ચે.
કે અમે માટે કહીએ છીએ તે છે.
>> તેથી જો તમે એક સ્વીચ કરી ચલ નામ.
પછી તમે શક્ય કિસ્સાઓમાં સુયોજિત તે હોઈ શકે કિંમતો.
તેથી એક કેસ છે, તે ઓછી છે કહે છે.
અને પછી તમે બહાર વિચાર તોડી સ્વીચ સ્થિતિ જેથી
તમે ચાલુ રાખવામાં નથી.
>> આગામી કિસ્સામાં માં
જેથી કેસ બે અને કેસ three--
તે કિસ્સામાં બે જો તે માત્ર નીચે નહીં તે સાથે જુએ કોડ પ્રથમ વાક્ય
તે વિરામ જુએ ત્યાં સુધી ત્રણ કેસ.
તેથી કારણ તમે કેસ એક વિચાર માત્ર પ્રિન્ટ ઓછી છે હું કારણ કે
અહીં આ વિરામ છે.
હું તો કહે છે, આ break-- અવગણવામાં હું આ breakaway-- દીધો જો
તે ઓછી છાપી શકે છે, અને પછી તે કરશે મધ્યમ છાપો, અને પછી તેને તોડી શકે છે.
>> આરામ એક મહત્વપૂર્ણ ભાગ છે તેથી શરતો સ્વિચ અને
તેઓ પ્રયત્ન કરીશું.
બાહ્ય રીતે જણાવ્યું નથી કે કોઈપણ કેસ મૂળભૂત દ્વારા નિયંત્રિત થાય છે
અને સ્વીચ માં કેસ પડેલા જોઈએ.
>> પ્રેક્ષક: તેથી 1, 2, 3, અને 4 એ હશે?
>> DAN: એ હોઈ શકે છે કે મૂલ્યો.
હા.
અરે વાહ?
>> પ્રેક્ષક: તેથી જો તમે હોય ત્યારે [અશ્રાવ્ય] છે?
>> DAN: તમે પછી નીચા છાપો, અને કરશે તે મધ્યમ છાપો, અને કરશે
પછી તેને તોડી શકે છે.
>> પ્રેક્ષક: તે શા માટે છાપો કરશે મધ્યમ જો [અશ્રાવ્ય]?
>> DAN: કેસ હેઠળ તેથી બધું વિરામ હેઠળ આવે છે તે પહેલાં.
તેથી કેસ એક પ્રિન્ટ નીચે કેસ છે તરીકે એક આ બાદ પ્રિન્ટ છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: તેથી આ નંબર માત્ર ચોક્કસ છે કિંમત છે કે જે આ ચલ
અધિકાર, લઈ શકે છે?
કે અર્થમાં છે?
અરે વાહ.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, કેસ બે પ્રિન્ટ કરશે મધ્યમ અને પછી તૂટી જાય છે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હું કોઈ પણ લાગે છે?
શું અન્ય ડેટા પ્રકારો તમે ફેરફાર કરી શકો છો?
>> પ્રેક્ષક: તમે ફેરફાર કરી શકો છો કોઈપણ ડેટા પ્રકારો પર.
પરંતુ તે માત્ર અક્ષરો પર કંઈપણ અર્થ એ થાય અને ints અને તે જેવી સામગ્રી, કારણ કે
તમે એક નિર્દેશક પર સ્વિચ કરી રહ્યાં છો કે ખરેખર, અર્થમાં નથી
તે પણ માતાનો દો તો લોડ પર સ્વિચ તમે કારણ કે ફ્લોટિંગ ચિહ્ન, તે કરવા
ચોકસાઇ, તમે ખરેખર નથી કરશે કોઈપણ રીતે તે કરવા માંગો છો.
તેથી ખૂબ ખૂબ, માત્ર ints અને કે અક્ષરો અને સામગ્રી.
>> DAN: તમે સ્પષ્ટ હોય ત્યારે અરે વાહ, તે છે તમે જાણો છો કે કિંમતો, મને લાગે છે, હોઈ શકે છે
કે સ્વીચ ખરેખર ઉપયોગી છે.
ગુડ?
બરાબર.
>> અવકાશ એક જાહેર કે શ્રેણી છે ચલ લંબાય છે.
હું કોડ આ થોડો ભાગ તેથી, તે ભૂલો પૂર્ણ હશે.
અને કારણ હું આ પૂર્ણાંક જાહેર છે હું લૂપ માટે આ તક અંદર.
અને પછી હું કે સંદર્ભ માટે પ્રયાસ કરી રહ્યો છું હું લૂપ અવકાશ માટે તે બહાર.
>> તેથી મૂળભૂત રીતે, તમે અવકાશ વિશે વિચાર કરી શકો છો તમે જાહેર જે કંઇ તરીકે
સર્પાકાર કૌંસ સમૂહ અંદર સાથે માત્ર તે સર્પાકાર કૌંસ અંદર અસ્તિત્વમાં છે.
અને તમે પ્રયત્ન કરો અને તે ચલ ઉપયોગ જો તે સર્પાકાર કૌંસ બહાર, તમે પડશે
કમ્પાઇલર એક ભૂલ છે.
અરે વાહ?
>> પ્રેક્ષક: તેથી આ એક કામ કરતું નથી?
>> DAN: આ હા, કામ કરતું નથી.
સ્ટ્રીંગ્સ.
શબ્દમાળા ચાર રચે છે *.
તેઓ બરાબર એ જ છો.
તેઓ માત્ર અક્ષરો પોઇન્ટર છે.
અને તમે કોઈપણ શબ્દમાળાઓ અંત જોઈએ માત્ર છે, જે બેકસ્લેશ શૂન્ય સાથે
એક સી સંમેલન.
>> તે નલ ટર્મીનેટર કહેવામાં આવે છે.
અને નલ
મૂડી એન, મૂડી યુ, મૂડી એલ, મૂડી L--
તરીકે જ નથી નલ ટર્મીનેટર.
આ એક નિર્દેશક છે.
આ એક પાત્ર છે.
તેઓ ખૂબ જ અલગ છે.
તે યાદ રાખો.
તે કદાચ, ક્વિઝ પર રહેશે.
હું ક્વિઝ જોઇ ન હોય.
અરે વાહ?
>> પ્રેક્ષક: તેથી નલ નિર્દેશક કહે છે, છે?
>> DAN: હા.
>> પ્રેક્ષક: શું [અશ્રાવ્ય] છે?
>> DAN: કહે તો malloc કહેવામાં આવે છે જ્યારે તમે વિચાર કરવા માટે પૂરતી મેમરી નથી
ગમે તમારા માટે પૂછી રહ્યાં છો કદ, malloc નલ આપશે.
એક કાર્ય છે જ્યારે તે મૂળભૂત રીતે, છે એક નિર્દેશક પાછા રહેવા, તમે
નલ કારણ સામે તપાસ કરવાની જરૂર છે નલ એક સુંદર good-- છે
તે પ્રકારની છે, જે કચરો કિંમત છે.
તે જ્યાં સુધી પોઇન્ટર જાઓ શૂન્ય છે.
>> જ્યારે પણ તમે એક કાર્ય કહી, કે નિર્દેશક આપે છે.
તમે હોઈ ચેક કરવા માંગો છો જઈ રહ્યાં છો કે નિર્દેશક નલ નથી ખાતરી કરો કે
નલ ખૂબ જ સામાન્ય છે.
તે એક કચરો વળતર જેવું છે.
કંઈક યોગ્ય નહોતા તેથી જો, માત્ર બદલે નલ આવો.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, અને તે આ છે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: આ તરીકે જોડણી.
તે નલ ટર્મીનેટર છે.
તે લોઅરકેસ એન યુ એલ એલ જો છે તમે તેને શબ્દરચના કરી રહ્યાં છો.
>> પ્રેક્ષક: અને હું માત્ર ગયા અને પાછળ તે પરીક્ષણ કર્યું છે.
અને તમે એક અપૂર્ણાંક બિંદુ મૂકવા પ્રયાસ કરો એક સ્વીચ માં કિંમત, તે તમને કિકિયારી પડશે
, કહે નિવેદન અભિવ્યક્તિ જરૂરી પૂર્ણાંક પ્રકારની.
>> DAN: ત્યાં તમે જાઓ.
પરંતુ હા, પ્રશ્ન ફરીથી શું હતું?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: તેથી મૂડી એન, મૂડી યુ, મૂડી એલ, મૂડી એલ એક વાસ્તવિક સી વસ્તુ છે.
તે NULL નિર્દેશક છે અને ચાલશે માત્ર જેમ કે સારવાર કરી.
તમે ક્યારેય પ્રયાસ કરો અને જોડણી નહીં નલ અક્ષર અને કોઈપણ જુઓ
આ કરતાં અન્ય રીતે.
અરે વાહ?
>> પ્રેક્ષક: તેથી મહત્તમ ઘરનાં પરચૂરણ કામો પરત અથવા નોંધો કંઈક, તે કરશે
એ જ કાર્ય સમાવિષ્ટ કરવું [અશ્રાવ્ય] છે?
>> પ્રેક્ષક: તેથી જો તમે ઉલ્લેખ કરવામાં આવે છે GetChar થી ચાર મહત્તમ પરત, અથવા
ગમે છે?
>> પ્રેક્ષક: યાહ.
>> પ્રેક્ષક: અરે વાહ, સામાન્ય જેથી તે તમામ બાબતો માટે શબ્દ
સંત્રી કિંમતો છે.
તેથી GetInt માંથી પૂર્ણાંક મહત્તમ પરત જેવા અને GetChar થી ચાર મહત્તમ, તે છે
જો, બધા અધિકાર, જેમ હોઈ રહેવા આ બધી વસ્તુઓ અમને પરત ફરી રહ્યા છે
કંઈક ખોટું થયું હતું.
>> પોઇન્ટર માટે, અમે માત્ર હોય થાય આ સંત્રી કિંમત છે કે દરેક વ્યક્તિ
પર સંમત થાય છે.
અને આ તમે પાછા આ વસ્તુ છે વસ્તુઓ ખોટી જઈ છે.
તેથી ચાર મહત્તમ અમે ઉપયોગ કરી રહ્યાં છો શું છે કંઈક પ્રતિનિધિત્વ
નલ કે GetChar ગમે છે.
>> પ્રેક્ષક: તમે GetChar પરીક્ષણ કરી રહ્યાં છો તેથી, તમે માત્ર નલ મૂકી શકે?
કે એક ફરક છે?
>> DAN: તમે માત્ર નલ તપાસ કરી શકે છે.
તમે કારણ કે ચાર રચે મહત્તમ તપાસો છો કાર્ય થી પરત કિંમત છે
એક અક્ષર નથી નિર્દેશક.
અરે વાહ?
>> પ્રેક્ષક: આ પ્રશ્ન પૂછે છે શબ્દમાળા લંબાઈ માટે.
આ નલ પાત્ર સમાવેશ થાય છે?
>> DAN: ના
અને તે કેવી રીતે શબ્દમાળા લંબાઈ ખરેખર છે તે મારફતે જાય છે રોકવા જાણે
અક્ષરો તમારા એરે સુધી તે નલ પાત્ર જુએ છે.
અને પછી તે બધા, જેવું છે અધિકાર, હું કરી રહ્યો છું.
>> AUDIENCE: [અશ્રાવ્ય] પાંચ?
>> DAN: હેલો પાંચ છે.
હા.
તેથી એરે સતત છે મેમરી બ્લોકો.
તેઓ કહેતા ઝટપટ ઍક્સેસ છે સર્પાકાર માં, એરે નામ છે અને પછી
તમે જવા માટે કરવા માંગો છો ઇન્ડેક્સ કૌંસ, , તેઓ દ્વારા શૂન્ય માંથી અનુક્રમિત રહ્યાં છો માટે
1 ઓછા એરે લંબાઈ.
>> અને તેઓ પ્રકાર દ્વારા જાહેર કરી રહ્યાં છો તમે માં સ્ટોર કરી રહ્યાં છે કે વસ્તુ
એરે, એરે નામ, અને પછી ગમે કદ કે એરે છે.
તેથી આ લંબાઈ એક કોલસો બનાવો એરે છે આ કિંમતો છે કે છ.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: અરે વાહ.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: તમે ચાલે છે તે છે એરે માં પહેલેથી જ હતી.
તેથી જો તમે તેના બદલે આ સ્પષ્ટ કરી શકે છે, ના કહે છે, ચાર રચે છે, ગમે તે નામ તમારા
એરે ખાલી કૌંસ સર્પાકાર બરાબર છે એચ અલ્પવિરામ ઇ અલ્પવિરામ એલ અલ્પવિરામ એલ અલ્પવિરામ સબળ
ઓ અલ્પવિરામ નલ પાત્ર અને સર્પાકાર તાણવું.
તે પણ એક જાહેરાત તરીકે કામ કરશે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: પછી તમે કરવાની જરૂર છે માપ પહેલાથી જ કરી હતી.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા.
બધા righty.
આદેશ વાક્ય દલીલો એક માર્ગ છે વપરાશકર્તા તરીકે ઇનપુટ મેળવવામાં
મુખ્ય માટે દલીલો.
મુખ્ય બે દલીલો લે છે.
કરવામાં આવી રહી છે કે દલીલો સંખ્યા આદેશ વાક્ય અને સાથે પસાર
શબ્દમાળા વેક્ટર અથવા સ્ટ્રિંગ એરે દલીલો તમામ.
>> તેથી હું કહે છે, જેમ કે એક કાર્ય કહેવાય જો 1 જગ્યા, 2 જગ્યા, ત્રણ બહાર કોઈ,
argc 4 છે.
અને argv 0 બહાર કોઈ છે.
Argv1 1 હશે.
argv2 2 argv3 હશે હશે 3, ચોક્કસ કિસ્સામાં.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: એરે માં છેલ્લા તત્વ એરે લંબાઈ argc છે કારણ કે વત્તા
argb છે, છેલ્લા તત્વ આ NULL નિર્દેશક છે.
તે argc વત્તા 1 છે.
હું માત્ર, તે જણાવ્યું હતું કે આ કેસમાં તેથી 0 argv આવશે બહાર કોઈ છે.
argv 1 1 argv2 3 3 છે 2 argv છે.
એક મોટા કે જે argv 4, argc કરતાં નલ હશે.
>> અને તે NULL નિર્દેશક છે.
હા.
શબ્દમાળા છે કારણ કે અને તે છે ચાર રચે સ્ટાર નિર્દેશક છે.
તેથી તે જ પ્રકાર હોઈ શકે છે.
અરે વાહ?
>> પ્રેક્ષક: બે પ્રશ્નો.
તેથી એક, તફાવત વચ્ચે શું છે એક પ્રકાર કરતાં અન્ય આ અને GetString
વપરાશકર્તા એન્જિન?
અને બે, તે અંદર સંગ્રહાય છે તમારી તાજેતરની મેમરી?
તેથી, જેમ કે GetString કરશે [અશ્રાવ્ય] કરી?
>> DAN: જ્યાં તે સંગ્રહ કરવામાં આવે છે?
તે સંગ્રહિત છે કે જ્યાં મને ખબર નથી.
>> પ્રેક્ષક: તેથી, ખરેખર, તમે કેવી રીતે કોઇ ખબર તમે તેને દલીલો છે કૉલ કાર્ય
સ્ટેક માં સંગ્રહિત થાય છે?
તેથી argc અને argv દલીલો મુખ્ય છે અને તેઓ સ્ટેક પર છે, અથવા ખરેખર
માત્ર તમે શું વિચારો ઉપર સ્ટેક શરૂઆત.
અન્ય ભાગ શું હતું પ્રશ્ન?
>> પ્રેક્ષક: તેથી શું [અશ્રાવ્ય]?
>> DAN: અરે વાહ, તે માત્ર એક અલગ રીત છે ના વપરાશકર્તા તરફથી ઇનપુટ મેળવવામાં.
આ એક થોડી વધારે કાર્યક્ષમ અને તે સ્ક્રિપ્ટો માટે handier છે તમે કારણ કે
ફક્ત તમારા મુખ્ય માટે દલીલો પસાર કરી શકો છો કાર્ય બદલે રાહ કર્યા કરતાં
વપરાશકર્તાઓ માટે તમે કોઈપણ વપરાશકર્તાઓ ન હોય તો.
>> પ્રેક્ષક: અને હા, શબ્દમાળાઓ વિચાર [અશ્રાવ્ય] છે.
તે તમને જરૂર છે તે સામગ્રી સ્ટોર છે.
>> DAN: અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, argv 0 હંમેશા સમાવેશ થાય છે કોઈ કાર્ય કૉલ સ્લેશ.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, આ દલીલો દરેક છે નલ અક્ષર માં અંત આવ્યો હતો કારણ કે તેઓ
શબ્દમાળાઓ છે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, argv argc એક NULL નિર્દેશક છે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: ઓહ હા.
અરે વાહ, માફ કરશો.
>> પ્રેક્ષક: તેથી [અશ્રાવ્ય]?
>> DAN: જો તમે હોય તો પ્રશ્ન એ છે કે તેથી આદેશ વાક્ય ડોટ, 2, 1 બહાર કોઈ સ્લેશ
કરશે આદેશ વાક્ય સંખ્યા દલીલો બે અથવા ત્રણ હશે?
>> પ્રેક્ષક: હું તે ન કરે છે ખરેખર તો કોઈ વાંધો.
હું ઓહ, તમે નથી પસાર કરી હતી, કહે છે વલણ ધરાવે છે જ્યારે કોઈપણ આદેશ વાક્ય દલીલો,
દેખીતી રીતે, તમે કાર્ય કહેવાય છે.
તેથી હું છૂટથી ટીકા આ બાકાત કરે છે આદેશ વાક્યમાંથી કાર્ય
તે છે, તેમ છતાં દલીલો argv માં સમાવેશ થાય છે.
>> DAN: પરંતુ તે test-- પર તો
yeah-- અને તમને કંઈક કહે તો argc 3 બરાબર જેમ,
તમે સલામત સમયથી છો.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હું તો તેના બદલે આ ફોન લાગે argc અને શબ્દમાળા argv કૌંસમાં
પરંતુ તે જ પ્રકારના રાખવામાં અને માત્ર કહેવાય એક જેવા વિવિધ તેમને કંઈક
અને b, તે હજુ પણ કામ કરશે?
અને તે હજુ પણ કામ કરશે, તમે just-- કરશે
બદલે argc-- ઉપયોગ તમે a અને b ઉપયોગ કરશો.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: તેથી પ્રશ્ન GetString છે ઢગલો મેમરી સંગ્રહવા જઈ
GetString ચાર છે, કારણ કે *.
તે કારણ કે ઢગલો મેમરી સંગ્રહ વાસ્તવિક અંદર હવે malloc કહે
GetString અમલીકરણ.
ઠીક છે, પર જતાં.
>> સુરક્ષા.
તેથી ખરેખર સુરક્ષિત હોઇ શકે છે, તમે કોઈ પર આધાર રાખે છે એક અને તમે કોઈપણ આ બોલ પર કોઈ એક વપરાશ પરવાનગી આપે છે
તમારી માહિતી, જે શા માટે છે દરેકને, તેમના પોતાના મશીનો બનાવે છે
પોતાના ઓપરેટિંગ સિસ્ટમો, તેમના તમામ શરૂઆતથી કાર્યક્રમો, અને દેખીતી રીતે
અન્ય કોઇ મશીનો સાથે જોડાવા નથી ઇન્ટરનેટ મારફતે.
તેથી કમ્પ્યુટર્સ અસુરક્ષિત છે.
તેઓ ખરેખર છે.
અમે અન્ય લોકો પર વિશ્વાસ હોય છે.
>> અને સુરક્ષા ના વિચાર તમે છો છે જથ્થો મર્યાદિત કરવા પ્રયાસ
તમને જરૂર છે કે વિશ્વાસ.
અને અર્થ એક તમે આ કરી સંકેતલિપી દ્વારા છે.
ક્રિપ્ટોગ્રાફી, અનિવાર્યપણે, છે અમે રહસ્યો છે.
>> ક્યારેક અમે અમારા રહસ્યો પસાર હોય છે સાથે મારફતે, જેમ કે, ઇન્ટરનેટ અથવા
અન્ય વસ્તુઓ.
અને અમે લોકો નથી માંગતા આ રહસ્યો જાણવા.
તેથી અમે એક માર્ગ માં અમારી રહસ્યો એનક્રિપ્ટ કે અમે કોઈ એક બહાર આકૃતિ કરી શકો છો આશા.
>> તેથી અમે used--
આ વર્ગ ના કોર્સ દ્વારા
સીઝર સાઇફર જેવી વસ્તુઓ અને બંને ખૂબ, ખૂબ છે જે [અશ્રાવ્ય],
વસ્તુઓ એનક્રિપ્ટ ના અસુરક્ષિત રીતે.
તેઓ બહાર આકૃતિ સરળ છો શું તેઓ છે અને તમારા રહસ્યો શું છે.
આ વાસ્તવિક વિશ્વમાં વધુ વાપરે જટિલ એનક્રિપ્શન યોજનાઓ.
અને અમે માં મળશે નહીં કરતાં વધુ.
>> ડિબગીંગ.
GDB શ્રેષ્ઠ છે.
હું ફરીથી આ ભાર જાઉં છું.
GDB બધા સમય દરેક ઉપયોગ કરો સમય તમે સમસ્યા હોય છે.
GDB માં ઉપયોગી છે કે આદેશો છે તમે એક લીટી ક્યાં પસાર છે, કે જે ભંગ
નંબર, એક કાર્ય નામ, અનિવાર્યપણે જ્યાં તમારો કોડ માં તમે બંધ કરવા માંગો છો,
અને નિયંત્રણ લેવા માટે સમર્થ છે.
>> પ્રિંટ ચલ લે છે અને છાપે તે ચલ છે કે જે પર છે ગમે
તમારા અમલ માં બિંદુ.
આગળ તમારા અમલ ફરે એક પગલું સાથે.
અને એક કાર્ય અંદર પગલાં પગલું તમારા અમલ માં.
>> અન્ય વસ્તુઓ કેવી રીતે છે, કે જે ચલાવવામાં આવે છે તમે ખરેખર તમારો કોડ ચલાવો.
ચાલુ રાખો જરૂરી બધા પગલાંઓ લે આગામી વિરામ બિંદુ વિચાર.
અને ઘણા, ઘણા લોકો છે.
તેમને જુઓ.
તેઓ મહાન છો.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા, એક ડીબગર છે.
તેથી એક ડીબગર એક કાર્યક્રમ છે કે તમે તમારા કાર્યક્રમ ડિબગ કરી શકો છો.
તે માટે ભૂલો શોધે છે એક કાર્યક્રમ છે કે નથી તમે, જોકે તે મહાન છે.
>> અને શોધ મારા માટે છેલ્લા છે.
અમે વાત કરી શોધ પ્રકારો તેથી આ વર્ગ વિશે રેખીય શોધ છે,
જે તમે દરેક મારફતે જોવા કે માત્ર છે શોધ જગ્યા તત્વ, એક
એક સમયે તત્વ, તમે તે મેળવી ત્યાં સુધી તમારા માટે અથવા તમે સુધી પહોંચવા ત્યાં સુધી જોઈ રહ્યા છો
તમારી શોધ જગ્યા ઓવરને કે તમે શોધી શકે છે કે જે કહે નિર્દેશ
તમે શોધી રહ્યા છો કે જે તત્વ.
અને આ શ્રેષ્ઠ સતત સમય લે છે જે 1 0 છે અને સૌથી ખરાબ રેખીય પર
n ના 0 છે, જે સમય.
>> જરૂર છે કે જે બાઈનરી શોધ, sordid તત્વો છે.
તમે તમારા ઘટકો મધ્યમાં પર જાઓ, જુઓ તો તમે શોધી રહ્યાં છો તે તત્વ
તત્વ કરતાં મોટા કે નાના છે તમે મધ્યમાં પર છો છે.
તે મોટા છે, તો તમે નીચે કહે છે કે તમારા શોધ જગ્યા તમારી છે
વર્તમાન સ્થાન, મધ્યમ, અને તમે પ્રક્રિયા પુન: શરૂ કરો.
તે નાની છે, તો તમે કહી જુઓ હા, અપ શું કરવું છે?
>> AUDIENCE: [અશ્રાવ્ય]?
>> DAN: હા.
શીખવવામાં આવ્યું છે કે આનાથી સૉર્ટ કરો કોઇ પણ પ્રકારની વર્ગ પરીક્ષણ માટે યોગ્ય રમત છે.
>> [હાસ્ય]
>> DAN: અને તમે થયું નથી હકીકત એ છે કે સમસ્યા સમૂહ માટે તેને કરવા માટે, તે યોગ્ય છે
પરીક્ષણ માટે રમત.
>> પ્રેક્ષક: અમે તેની પર જઈ શકો છો કેવી રીતે to--
>> DAN: તે પર ચાલ્યા આવશે.
>> 2 વક્તા: માટે આ વાસ્તવિક કોડ [અશ્રાવ્ય] study.cs50.net પર છે.
તમે આ પ્રથા સમસ્યા જોવા તેથી જો ના મર્જ સૉર્ટ પાનાંમાં
study.cs50.net, આ કોડ છે સૉર્ટ મર્જ અમલીકરણ માટે.
તેથી તમે અમલ કરવાની જરૂર નથી તે જાતે આજની રાત કે સાંજ.
પરંતુ ખાતરી કરો કે તમે તેના બદલે તે સમજી કરો કરતાં માત્ર તેને યાદ.
>> AUDIENCE: [અશ્રાવ્ય]?
>> 2 વક્તા: પર મર્જ સૉર્ટ પાનું study.cs50.net, એક પ્રથા છે
તમે મારફતે ક્લિક કરો કે, સમસ્યા સમસ્યા ખૂબ જ ઓવરને અંતે છે એક
મર્જ છે ઉકેલ, સૉર્ટ અમલ.
પરંતુ ખાતરી કરો કે તમે તેને સમજી તેના બદલે માત્ર તે યાદ કરતાં
અથવા તે નીચે નકલ.
>> પ્રેક્ષક: અને એક સંપૂર્ણપણે માન્ય આ પરીક્ષા માટે સમસ્યા હશે
અહીં કંઈક યાદી છે.
આ યાદી પછી જેમ દેખાય છે શું પસંદગીઓ જેવું એક પગલું અથવા
દાખલ સૉર્ટ અથવા જે.
યાદીમાં એક સંપૂર્ણ પુનરાવૃત્તિ.
તમે જરૂર અંત નથી તેથી તો પણ તે માટે કોડ છે, તો તમે તેને સમજવા જરૂરી
તે ચાલી રહ્યું છે ખબર કેવી રીતે કરવા માટે પૂરતી આ એરે બદલવા છે.
>> DAN: તે મારા માટે તે છે.
>> [વધાવી]
>> LUCAS: અરે દરેક.
મારું નામ લુકાસ છે.
હું બધા, રિકર્ઝન વિશે વાત કરવા જઈ રહ્યો છું આ અમે શીખ્યા છે કે પ્રકારના, અને
બધા પોઇંટરો થોડો.
બરાબર?
તેથી સૌ પ્રથમ, રિકર્ઝન.
તે કહે છે કે શું અર્થ છે એક કાર્ય ફરી યાદ આવવું છે?
>> પ્રેક્ષક: પોતે કહે.
>> LUCAS: ઠીક છે, હા, પોતે કહે છે.
તેથી, ઉદાહરણ તરીકે આ ચિત્ર, ગમે છે.
તે અંદર ચિત્ર જેવું છે એક ચિત્ર અને તેથી પર.
તેથી, ઉદાહરણ તરીકે, તમે ડેન તરીકે હોય શકે કે બાઈનરી શોધ અંગે વાત કરી હતી.
એક રીતે જેમાં બાઈનરી શોધ છે ફરી યાદ આવવું તમે છો કે હકીકત એ છે
એક નંબર શોધવા પ્રયાસ કરે છે.
તેથી તમે મધ્યમ પર જાઓ.
ત્યાં નંબરો તો પછી તમે તપાસ ડાબી અને જમણી.
>> અને પછી તમે સંખ્યા છે તે શોધવા જો ડાબી પર પ્રયત્ન રહ્યું છે, તે જ છે
ફરી શોધ કરી તરીકે વસ્તુ પરંતુ ફક્ત યાદી ડાબી પર.
લાગે છે કે કેવી રીતે જેથી છે જેમ તે ફરી યાદ આવવું છે.
તમે ગાય્સ યાદ આવવું છે તેથી કે શા માટે છે મર્જ સૉર્ટ માટે ઉકેલ.
>> ઠીક છે, તેથી અહીં એક ઉદાહરણ છે.
તેથી આપણે હું પસંદ કરો માંગો છો કહે છે કે દો 1 થી n એ માટે બધી સંખ્યાઓ.
હું ખ્યાલ છે કે એ સરવાળા નંબર એ વત્તા એ ઓછા 1 1 પર છે.
પરંતુ તે પછી, હું એ ઓછા 1 જોવા વત્તા એ ઓછા 2 વત્તા 1, તે જ છે
એકત્ર નંબરો તરીકે વસ્તુ માટે એ ઓછા 1 અપ.
તેથી હું એક સમાન રકમ ની રકમ કહી શકો છો એ ઓછા 1 ના એ વત્તા રકમ સમકક્ષ હોય છે.
કે અર્થમાં છે?
>> અને હું પણ કંઈક બીજું હશે છે, કે જે આધાર કેસ કહેવાય
અપ નંબરો સરવાળા શૂન્ય શૂન્ય છે.
તેથી જલદી હું સંખ્યા પર વિચાર શૂન્ય, હું ગણતરી અટકાવો.
કે અર્થમાં છે?
>> અહીં કેવી રીતે એક ઉદાહરણ છે હું કે અમલ કરી શકે છે.
તેથી હું કેટલાક આ કાર્ય છે.
તે પૂર્ણાંક n એ લઈ જાય છે.
એ છે જો અહીં હું પ્રથમ તપાસ ઓછી અથવા શૂન્ય સમકક્ષ હોય છે.
તેથી તે, શૂન્ય ઓછી અથવા સમાન છે તો હું અમારા આધાર કેસ છે, કે જે શૂન્ય આવો.
નહિંતર, હું હમણાં જ પાછા આવી શકો છો એ વત્તા નંબરો સરવાળા થી
એ ઓછા એક માટે એક.
અર્થમાં બનાવે છે?
બરાબર.
>> અહીં તે શું લાગે છે.
તમે 2 સમકક્ષ ની રકમ છે 2 વત્તા 1 ની રકમ.
અને 1 કેટલાક વત્તા 1 છે 0 છે, જે 0 રકમ પોસ્ટેડ,.
અર્થમાં બનાવે છે?
અમે સ્ટેક જોવા તેથી જો તમારા કાર્યક્રમ, આ તે શું લાગે છે.
>> પ્રથમ, અમે મુખ્ય કાર્ય છે.
અને પછી મુખ્ય કાર્ય રકમ 2 કહેવાય છે.
અને પછી રકમ 2 ઓહ, કહે રહ્યું છે, રકમ 2 2 વત્તા એક સરવાળો સમકક્ષ હોય છે.
તેથી હું સ્ટેક માટે 1 રકમ ઉમેરો.
અને 1 ની રકમ ની રકમ કહી રહ્યા છે 0, જે પણ ઉમેરી શકાય રહ્યું છે
સ્ટેક છે.
અને છે કે આ મુદ્દાઓ પછી દરેક બીજા ઉપર પાછા છે
અન્ય મુદ્દાઓ ચાલુ રાખવામાં પહેલાં.
>> તેથી, ઉદાહરણ તરીકે, અહીં, 0 ની રકમ પોસ્ટેડ, પ્રથમ, 0 પાછા જઈ રહ્યું છે.
અને પછી 1 રકમ પસંદ કરો.
પછી 1 રકમ રહ્યું છે 2 સરવાળો 1 આવો.
અને છેલ્લે, 2 રકમ રહ્યું છે મુખ્ય 3 પાછા.
કે અર્થમાં છે?
>> તે કેવી રીતે સમજવા માટે ખરેખર મહત્વનું છે સ્ટેક કામ કરે છે અને પ્રયાસ કરો છે
તે અર્થમાં બનાવે છે તે જોવા.
ઠીક છે, તેથી સૉર્ટ.
તેથી શા માટે મહત્વપૂર્ણ સૉર્ટ છે સૌ પ્રથમ?
આપણે શા માટે ચિંતા કરવી જોઈએ?
કોઈપણ?
મને એક ઉદાહરણ આપો?
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: બરાબર, હા.
તેથી તમે વધુ અસરકારક રીતે શોધ કરી શકો છો.
તે એક સારો માર્ગ છે.
તેથી, ઉદાહરણ તરીકે, અમે ઘણો છે વસ્તુઓ ખરેખર, અમારા જીવન કે
અલગ પાડવામાં આવે છે.
ઉદાહરણ તરીકે, શબ્દકોશ.
>> તે બધા છે કરવા માટે ખૂબ જ મહત્વપૂર્ણ છે માટે અમુક પ્રકારના શબ્દો કે અમે
સરળતાથી ઍક્સેસ કરી શકો છો.
જેથી તેઓ કહેતા કરવામાં આવી છે તે છે.
તમે વધુ અસરકારક રીતે શોધ કરી શકો છો.
તે હોય છે કેવી રીતે હાર્ડ વિચારો શબ્દો છે કે જેમાં શબ્દકોશ
ગમે તે.
તમે ખૂબ ખૂબ, જુઓ પડશે દરેક એક શબ્દ તમે શોધી સુધી
તમે શોધી રહ્યા છો કે શબ્દ.
>> તમે પણ ફેસબુક ઉપયોગ કરી રહ્યાં છો, જ્યારે તમે તમારા મિત્રો પર શોધી રહ્યાં છો, તમે છો
ફેસબુક મૂકી કે જોવા જઈ તમારા નજીક મિત્ર રાશિઓ ટોચ પર છે
તમે ખૂબ કે સાથે વાત નથી.
તમે નીચે બધી રીતે જાઓ તમારા મિત્ર યાદી, તમે જોઈ રહ્યા છીએ
તમે કદાચ પણ નથી કે લોકો તમારી સાથે મિત્રો છો યાદ રાખો કે.
અને તે ફેસબુક પ્રકારના કારણ છે કેવી રીતે પર આધારિત છે તમારા મિત્રો
તમે તેમને છે બંધ કરો.
>> તેથી માહિતી આયોજન.
પણ પોકેમોન.
તેથી તમે બધા Pokemons જુઓ કે હોય છે.
અને તે એક સરળ જેવું છે માહિતી ઍક્સેસ માર્ગ.
>> પ્રેક્ષક: પોકેમોન ઍક્સેસ.
>> LUCAS: અરે વાહ.
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: હા.
ઠીક છે, તેથી પસંદગી સૉર્ટ.
પસંદગી સૉર્ટ પસંદ રહ્યું છે યાદી નાના ક્રમમાંગોઠવાયેલનથી કિંમત દરેક
દરેક ઇટરેશન સમય.
તે પ્રકારની તમે શું છે કે જે પ્રકારની જેવું છે તમારા માથા માં તમે પ્રયાસ કરી રહ્યા છો ત્યારે
બાજુ યાદી સૉર્ટ.
>> મૂળભૂત રીતે, તમે શું બધા તમે જોવા છે નાના નંબર માટે.
તમે છટણી યાદી માં મૂકી.
અને પછી તમે જોવા આગામી નાના સંખ્યા.
અને પછી તમે કરી રાખવા કે અને તેથી પર.
>> તેથી પસંદગી સૉર્ટ તમે મૂળભૂત છે દર વખતે નાના પસંદ
ક્રમમાંગોઠવાયેલનથી મૂલ્ય.
છટણી ઓવરને અંતે મૂકો યાદી ભાગ છે.
અને તે કરી રાખો.
તેથી આપણે ઝડપથી જુઓ શું આ જેવો દેખાય છે.
અહીં છટણી છે અને ક્રમમાંગોઠવાયેલનથી યાદી.
>> યાદીમાં સૉર્ટ માટે તેથી, તે શરૂઆતમાં ખાલી છે.
અને પછી હું પસંદ કરવા માટે જઇ રહ્યો છું 2 છે, જે અહીં નાના નંબર,.
તેથી હું 2 નંબર વિચાર અને હું મૂકી યાદીમાં સામે.
અને પછી હું આગામી નાના જોવા 3 છે, જે તત્વ,.
તેથી હું ઓવરને અંતે મૂકો છટણી યાદી.
અને પછી હું તે કરી રાખો.
હું 4 શોધી અને ઓવરને અંતે મૂકો.
5 શોધો અને ઓવરને અંતે મૂકો.
>> અને તે વખત કેવી રીતે બધા જુઓ કે હું અંત છે પર મૂકવામાં કહી રહ્યો છું
મૂળભૂત રીતે, બે કિંમતો જેઓ.
બરાબર?
અને પછી છેલ્લા એક, તમે માત્ર વધુ એક તત્વ છે.
તેથી તે પહેલાથી જ છટણી છે.
>> ઠીક છે, તેથી દાખલ સૉર્ટ.
નિવેશ સૉર્ટ તમે પણ હોય રહ્યા છીએ એક સૉર્ટ કર્યા કે વસ્તુ અને
એક ક્રમમાંગોઠવાયેલનથી યાદી.
આ જ વસ્તુ છે દર વખતે કે તમે સૉર્ટ કરવા માટે એક તત્વ ઉમેરી રહ્યાં છીએ
યાદી, તમે માત્ર તત્વ પસંદ કે ક્રમમાંગોઠવાયેલનથી યાદી સામે છે.
અને પછી તમે શું શોધી રહ્યા છીએ સ્થિતિ તે છટણી હોવી જોઈએ
યાદી ભાગ છે.
>> ચાલો આ તેથી શું છે તે જોવા દો આ વધુ અર્થમાં બનાવે છે.
તેથી શરૂઆતમાં, ઉદાહરણ તરીકે, હું પ્રયાસ કરી રહ્યો છું આ નંબર ત્રણ દાખલ કરવા માટે
યાદીમાં છટણી ભાગ છે.
તેથી યાદી કંઈપણ નથી.
તેથી હું માત્ર સંખ્યા 3 મૂકી શકો છો.
>> હવે, હું 5 નંબર ઍડ કરવા માંગો છો યાદીમાં છટણી ભાગ છે.
તેથી હું 5 નંબર જુઓ.
હું તેને 3 કરતાં વધુ છે કે નોટિસ.
તેથી હું તેને 3 પછી હોઈ શકે છે કે જે ખબર.
તેથી હું 3 અને 5 મૂકો.
>> પછી હું 2 નંબર દાખલ કરવા માંગો છો.
હું 2 નંબર ખરેખર છે કે નોટિસ પછી 3 અને 5 બંને રહે.
તેથી હું ખરેખર તે બધા મૂકવો પડશે યાદીમાં શરૂઆતમાં રીતે.
તેથી હું પ્રકારની તમામ પાળી છે છટણી યાદી જેથી હું કરી શકો છો માં તત્વો
2 નંબર માટે જગ્યા બનાવે છે.
>> પછી હું નંબર 6 જુઓ.
હું તે 5 પછી પ્રયત્ન કરીશું કે જુઓ.
તેથી હું તેને ત્યાં મૂકી.
અને છેલ્લે, હું નંબર 4 જુઓ.
અને હું તે જોઇએ નોટિસ 3 અને 5 વચ્ચે છે.
અને પછી હું તેને ત્યાં મૂકી અને પાળી બીજા બધા તત્વો છે.
અર્થમાં બનાવે છે?
>> બબલ સૉર્ટ.
તેથી બબલ સૉર્ટ તમે છો શું મૂળભૂત છે જઈને અમે બબલ કૉલ કરવું
તમે યાદી મારફતે જાઓ પ્રકારની કારણ કે હું માત્ર બતાવવા જો તે ખરેખર સારી છે
તમે આ ગમે છે
અને તમે સરખામણી રહ્યા છીએ અડીને નંબરો.
અને તમે સ્વેપ રહ્યા છીએ તેમના સ્થિતિ તેઓ જાણતા ન હો તો
યોગ્ય ક્રમમાં.
>> તેથી મૂળભૂત રીતે, શું ચાલે છે અહીં છે શું, ઉદાહરણ તરીકે,
તમે 8 અને 6 છે.
તમે કે ક્રમમાં કરશે ખબર ખરેખર અધિકાર 6 અને 5, કરી?
તેથી તમે ઓર્ડર સ્વેપ રહ્યા છીએ.
પછી હું અહીં 8 અને 4 જુઓ.
અને હું આ જ વાત કરી.
હું ફરીથી સ્વેપ.
અને છેલ્લે, 2 અને 8.
હું પણ તેમને સ્વેપ.
>> તે બબલ સૉર્ટ કરો, કારણ કે પછી કહેવાય છે આ iterations દરેક, ખરેખર,
યાદીમાં તો સૌથી મોટી સંખ્યામાં તમામ નહીં આ યાદી ઓવરને માર્ગ.
કે અર્થમાં છે?
તે જેઓ રાખે છે અને જમણી તે ખસેડવાની.
>> ઠીક છે, તેથી આ બીજા પુનરાવૃત્તિ છે.
તે જ વાત છે.
હું એક સ્વેપ કરીશ અને પછી છેલ્લા એક.
કોઈ અદલબદલ છે હું અને યાદી સૉર્ટ થાય છે.
બબલ સૉર્ટ તેથી, અમે મૂળભૂત રીતે રાખવા આ યાદી મારફતે જવું અને જેઓ
વસ્તુઓ હું ન કર્યું કે નોટિસ સુધી કે પુનરાવૃત્તિ કરી કોઈપણ અદલબદલ, જે
યાદી પહેલેથી સૉર્ટ થાય છે કે જે થાય છે.
અર્થમાં બનાવે છે?
>> માતાનો થોડો વાત કરો સમય ચાલી વિશે.
તેથી જો તમે ગાય્સ મોટા યાદ છે ઓ, ઓમેગા, અને થીટા?
અરે વાહ?
ઠીક છે, મોટા ઓ સૌ પ્રથમ, તે છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: અરે વાહ, તે એક ખરાબ કિસ્સામાં કહેવાય છે માત્ર તે છે કે જે થાય છે કે જે રનટાઇમ,
કેટલી તમે કાર્યક્રમ અપેક્ષા ચલાવવા માટે લે છે.
જેમ, દ્રષ્ટિએ of--
આ કિસ્સામાં એ છે.
આ તત્વો સંખ્યા સૌથી ખરાબ કિસ્સામાં યાદી.
જેમ, સૌથી ખરાબ શક્ય કિસ્સામાં.
>> બબલ સૉર્ટ તેથી, ઉદાહરણ તરીકે, અમે n ચોરસ મોટા ઓ છે.
શા માટે અમે તે છે?
શા બબલ મોટા ઓ એન ચોરસ સૉર્ટ છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: અરે વાહ, તેથી સૌથી ખરાબ કિસ્સામાં હશે કે હું એ iterations કરવું પડશે.
તેથી iterations દરેક રહ્યું છે અંતે સૌથી તત્વ લાવે છે
યાદીમાં.
તેથી સૌથી ખરાબ કિસ્સામાં હું હોય છે કે વસ્તુ n વખત કરવું.
અને તે સમયે દરેક માટે, હું હોય છે હું સરખાવવા માટે છે કારણ કે એ અદલબદલ કરી
દરેક બે તત્વો છે.
તે સ્ક્વેર્ડ n છે તેથી કે શા માટે છે તે n વખત એ છે કારણ કે.
>> પછી, પસંદગી સૉર્ટ પણ એ ચોરસ છે કારણ કે, દરેક ઇટરેશન માટે, હું હોય છે
દરેક એક તત્વ જોવા યાદીમાં.
અને પછી, નાના શોધવા જે હું હોય છે કે જે થાય છે
n તત્વોના મારફતે જુઓ.
અને હું કારણ કે n વખત કરી છે હું તમામ n તત્વોના પસંદ કરવા માટે હોય છે.
>> એક નિવેશ પ્રકારની પણ એ ચોરસ છે સૌથી ખરાબ કેસ દૃશ્ય કરશે કારણ કે
, એક હોઈ શકે છે, હું દાખલ કરવા માટે હોય છે એ નંબરો, અધિકાર?
તેથી હું પહેલેથી જ હું જાઉં છું ખબર છે કે એ iterations હોય.
પરંતુ હું હતો તે નંબરો દરેક માટે, જો નંબરો તમામ જોવા
છટણી યાદી અને તે બધી રીતે મૂકી આ સામે, કે એ ચોરસ હશે
તે n વખત એ ફરીથી પ્રયત્ન કરશે.
અર્થમાં બનાવે છે?
શું ઓમેગા વિશે શું?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: તે શ્રેષ્ઠ કેસ દૃશ્ય છે.
તેથી તે સમય ઘણો માટે, જેવું છે શ્રેષ્ઠ કેસ દૃશ્ય છે, સૉર્ટ
યાદી પહેલેથી સૉર્ટ થાય છે છે.
તેથી જો તમે ખરેખર નથી કંઈ પણ કરવા માટે.
બબલ સૉર્ટ શ્રેષ્ઠ છે n ના કેસ દૃશ્ય.
તમે ગાય્સ શા માટે ખબર છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: અરે વાહ, તમે સાચવી રાખે તો માહિતી રેશન કોઈપણ અદલબદલ હતી કે
તમે કંઈક છે જો નહિં, સુયોજિત જેવા એક પુનરાવૃત્તિ આ તો ત્યાં તો સાચા
યાદી પહેલેથી જ, મૂળભૂત રીતે, સૉર્ટ થાય છે શું ચાલી રહ્યું છે હું જાઉં છું છે
દરેક બે સ્વેપ કરવાનો પ્રયાસ કરો અડીને તત્વો છે.
હું જુઓ કે જાઉં છું કોઈ અદલબદલ છે.
અને હું માત્ર અધિકાર દૂર આવો.
>> તેથી તે હું માત્ર હતી અર્થ એ થાય કે યાદી એક સમય પસાર થાય છે.
હું જુઓ, કારણ કે તેથી તે એ છે n તત્વોના છે.
શા માટે પસંદગી સૉર્ટ એ ચોરસ?
>> અરે વાહ, આ યાદી સૉર્ટ થાય છે, પણ જો માટે પસંદગી સૉર્ટ દરેક ઇટરેશન, હું
લઘુત્તમ તત્વ પસંદ કરવા માટે હોય છે.
જેથી હું જોવા માટે બહાર છે અર્થ એ થાય કે ક્રમમાંગોઠવાયેલનથી તમામ તત્વો પર
યાદી અને લઘુત્તમ શોધવા દરેક ઇટરેશન માટે.
કે અર્થમાં છે?
>> અને નિવેશ તલવાર માં કારણ કે n છે હું દાખલ કરવા માટે પ્રયાસ કરી રહ્યો છું તે કિસ્સામાં
નંબરો અને નંબરો તમામ, જ્યારે હું તેમને દાખલ કરવા માટે પ્રયત્ન કરો, હું તે જુઓ
યોગ્ય સ્થિતિમાં છે.
હું તમામ અન્ય તપાસ જાઓ નથી ક્રમમાંગોઠવાયેલનથી યાદીમાં નંબરો.
તે એ હશે તેથી કે શા માટે છે.
અર્થમાં બનાવે છે?
અને થીટા શું છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: શું, માફ કરશો?
તેને ફરીથી કહો.
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: ચોક્કસ.
તેથી તમે તે માત્ર પસંદગી જોઈ શકો છો મર્જ કરો માં સ્ટોર પ્રકારની thetas છે.
તમે માત્ર થીટા છે કારણ કે અને તે છે મોટા ઓ અને ઓમેગા બંને એક જ હોય ​​તો.
બરાબર.
અને છેલ્લે, લોગ n માં પ્રકારની છે મર્જ.
>> ડેન કહે હતી અને પછી,, સૉર્ટ મર્જ કરો પ્રકારની એ જ રીતે જેમ કે
તમે બાઈનરી શોધ કરી.
તેથી જો તમે યાદીમાંથી છે.
અને તમે અડધા કાપી રહ્યા છીએ.
અને પછી તમે તેમને કાપી નાના છિદ્ર માં.
અને પછી તમે તેમને મર્જ.
તમે ગાય્સ અધિકાર, યાદ રાખો કે?
ઠીક છે, તે કહે છે હતી.
>> ઠીક છે, પોઇન્ટર.
તેથી નિર્દેશક શું છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: એક સરનામું.
બરાબર.
હું ડેવિડ એક ટોળું છે ખબર છે કે Binky વિડિઓઝ અને વસ્તુઓ તરફ પોઇન્ટ
દરેક અન્ય.
પરંતુ હું પોઇન્ટર લાગે ગમે છે માત્ર એક સરનામું છે.
તેથી તે ચાલે છે કે એક ચલ છે એક સરનામું સંગ્રહવા માટે.
>> તેથી તે માત્ર આ ખાસ ચલ છે ચાર બાઇટ્સ લાંબી છે.
કંઈપણ કે નિર્દેશક છે યાદ રાખો, અમારા 32-bit માટે લાંબા હંમેશા ચાર બાઇટ્સ
મશીન કેસ સાથે સાધન.
અને તે માત્ર આ સ્થાન ધરાવે છે તે અંદર એક ચલ.
>> ઠીક છે, તેથી મૂળભૂત રીતે, આ મેમરી છે.
તેથી મેમરી દરેક બ્લોક ખરેખર એક આ સરનામું છે કે જે લેબલ,
slotty મેમરી.
જેથી હું કરી શકે છે કે જે થાય છે માટે નિર્દેશક પોઇન્ટ
આ સરનામાઓ કોઇ.
તેથી અમે પોઇંટરો ઉપયોગ કરશો કારણ છે હું સ્થાન યાદ છે જો
કે ચોક્કસ ચલ મેમરી છે.
>> અને તમે ગાય્સ યાદ તે એક છે કે જે હું એક કાર્ય છે જો કિસ્સાઓમાં હતી
હું ખરેખર હોય તો માટે તમે કરવા માંગો છો reals માટે સ્વેપ, હું ખરેખર
નિર્દેશક મોકલી છે.
નથી ચલ.
તમે ગાય્સ કે યાદ છે?
આ તફાવત between--
નામ શું છે?
કિંમત અને ફોન કરીને કૉલ સંદર્ભ દ્વારા, અધિકાર?
>> હા, બરાબર.
તેથી કિંમત દ્વારા ફોન કરો.
તમે માત્ર એક ચલ માટે મોકલી ત્યારે તમે માત્ર એક કિંમત મોકલી રહ્યાં છો કામ.
તેથી જો તમે ખરેખર મોકલી રહ્યાં છો ચલ એક નકલ.
અને તમારા કાર્યક્રમ ઓછી કાળજી શક્યા નથી ખરેખર જ ચલ તો વિશે
નકલ બનાવે છે.
>> અને સંદર્ભ અર્થ એ થાય કે દ્વારા ફોન હું ખરેખર આ એક નકલ મોકલી રહ્યો છું
કે ચલ માટે નિર્દેશક.
તેથી તે હું મોકલી રહ્યો છું કે જે થાય છે કે ચલ સ્થાન.
તેથી હું સ્થાન છે સુઝ ચલ, હું કહી જ્યારે કાર્ય
પોઇન્ટર સાથે, હું ખરેખર કરવા માટે સક્ષમ છું મુખ્ય હતું કે ડેટા બદલો.
અર્થમાં બનાવે છે?
>> તેમ છતાં, નિર્દેશક એક નકલ છે નિર્દેશક હજુ ના વાસ્તવિક સરનામું છે
હું બદલવા માંગો છો તે ચલ.
અર્થમાં બનાવે છે?
>> તેથી પોઇન્ટર બનાવવા.
હંમેશા નિર્દેશક હોય છે, યાદ રાખો તે પોઇન્ટ છે કે પ્રકાર
એક તારો છે અને પછી.
અને પછી તમે નામ મૂકે છે.
તેથી તમારી પાસે જ્યારે પણ યાદ રાખો કે ગમે સ્ટાર, તે માટે નિર્દેશક જેવું છે
ગમે ચલ કે તમે હતું કે લખો.
>> અહીં સ્ટાર માં, ઉદાહરણ તરીકે, તે છે નિર્દેશક અને પૂર્ણાંક.
અને પછી ચાર સ્ટાર નિર્દેશક છે ચાર સ્ટાર અને તેથી આગળ.
અરે વાહ?
>> પ્રેક્ષક: શું અમે હોય તો એક એ માટે નિર્દેશક એક્સ સ્ટાર.
હું એક્સ માટે નિર્દેશક બનાવે છે.
તે પણ એક પૂર્ણાંક એક્સ જાહેર કરે છે?
>> LUCAS: ઠીક છે, તેથી તમે એ સ્ટાર એક્સ કહે છે, તમે માટે નિર્દેશક બનાવવા નથી
ચલ x.
તમે એક્સ નામના નિર્દેશક બનાવી રહ્યા છો.
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: હું એ સ્ટાર એક્સ કહે તેથી, જ્યારે હું છું હેય, મેમરી, હું જાઉં છું, કહે છે
આ ત્રણ બોક્સ એક વિચાર.
અને હું કે કહે છે કે જાઉં છું છે, કે જે એક્સ હોઈ ચાલે છે
જઈને એક નિર્દેશક છે.
અને પોઇંટરો વિશે કંઈક રસપ્રદ અમે તેઓ કહે છે કે છે
એક મશીન 32-bit માટે 4 બાઇટ્સ.
અને તે માટે કારણ છે કારણ કે છે 4 બાઇટ્સ 32-બિટ્સ છે.
>> 64 બિટ્સ ખરેખર છે અને મશીનો પોઇન્ટર સરનામાં છે
64 બિટ્સ લાંબા છે.
તેથી તે માત્ર અર્થ એ થાય કે માપ મશીન માં સરનામાં અલગ છે.
>> તેથી સંદર્ભ અને Dereferencing.
બે ઓપરેટરો છે કે તમે ગાય્સ યાદ રાખવું જોઈએ.
પ્રથમ 'ચિન્હ છે.
બીજા સ્ટાર છે.
કે સ્ટાર અને આ દ્વારા ગુંચવણ ના થવી નથી કારણ કે, તે યાદ સ્ટાર
આ કિસ્સામાં, તમે એ સ્ટાર છે.
>> તે એક સાથે એક સંપૂર્ણ વસ્તુ જેવું છે.
કોઈ એ જગ્યા સ્ટાર છે.
તેથી તે પ્રકાર છે કે જે થાય છે.
તમારી પાસે જ્યારે કે યાદ રાખો, ચલ સ્ટાર, તમે છો
પ્રકાર વિશે વાત.
>> તમે પછી માત્ર સ્ટાર અને હોય ચલની નામ, તે અર્થ એ થાય કે
તમે નિર્દેશક, dereferencing કરી રહ્યાં છો કે જે તમે જોઈ રહ્યાં છો કે જે થાય છે
નિર્દેશક, સરનામાં શોધવા તે , માટે પોઇન્ટ કે સરનામા માટે જતા,
અને જ્યારે જોઈ તમે ત્યાં છે.
તેથી હું તમારી પાસે જ્યારે કે મારા વિદ્યાર્થીઓ કહી સ્ટાર, તો તમે તેને લાગે છે કે જોઈએ
સામગ્રી ના સંક્ષેપ.
>> તમે એક નિર્દેશક હોય તો અને તમે સ્ટાર નિર્દેશક કરવું, તે છે
નિર્દેશક સામગ્રી.
તેથી જો તમે તે પોઇન્ટ છે ગમે પર જાઓ અને સતત સામગ્રી જુઓ.
અને 'ચિન્હ જ છે સરનામું તરીકે વસ્તુ.
>> હું જેવી તેવી ચલ હોય તો તેથી, ચાલો પૂર્ણાંક એક બરાબર હું હતી કહે છે કે 3
હું કે ના સરનામા શોધવા માંગો છો ચલ મેમરી, હું હમણાં જ કરી શકો છો
એક 'નું ચિહ્ન.
તેથી તે એક સરનામું છે.
અર્થમાં બનાવે છે?
>> અહીં એક ઉદાહરણ છે.
આ પૂર્ણાંક બી અને પૂર્ણાંક સી ખૂટે છે.
3 અર્થ બરાબર પૂર્ણાંક જેથી હું મેમરી પર જાઓ જાઉં છું.
અને હું એક સ્લોટ શોધવા જાઉં છું અને અહીં નંબર 3 મૂકો.
>> અને પછી પૂર્ણાંક બી 4 સમકક્ષ હોય છે.
હું એ જ વસ્તુ કરવા જાઉં છું.
મેમરી પર જાઓ અને એક નંબર મૂકી બોક્સ એક 4.
અને પૂર્ણાંક 5 સમકક્ષ હોય છે.
અન્ય બોક્સ શોધો અને સંખ્યાબંધ 5 મૂકો.
>> તેથી બહાર કરી આ વાક્ય શું છે? એ સ્ટાર PA 'ચિન્હ એક સમકક્ષ હોય છે.
તેથી સૌ પ્રથમ, એ સ્ટાર PA.
તે શું કરી રહ્યા છે?
>> AUDIENCE: [અશ્રાવ્ય].
>> LUCAS: અરે વાહ, તેથી એ સ્ટાર PA, પ્રથમ, PA કહેવાય નિર્દેશક જાહેર.
અને પછી તે ની કિંમત સોંપણી છે કે નિર્દેશક એક ની સરનામું છે.
તેથી 'નું ચિહ્ન.
પછી, હું સ્ટાર PB કરો તો, એક તારો PB શું છે?
>> ઓહ, માફ કરશો.
આ પણ ખૂટે છે. એ સ્ટાર PB.
હું સ્ટાર પીસી થાય છે.
હું દિલગીર છું.
તે જ વાત છે.
પરંતુ હવે હું એક નિર્દેશક બનાવવા AR સારી છું પછી સી માટે નિર્દેશક બી અને છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: હા.
તેથી જો તમે મેમરી માટે જાઓ અને તમે પર જાઓ જો PA માટે સંજ્ઞાપક છે કે બોક્સ,
તમે ખરેખર રહ્યા છીએ એક ની એક સરનામું જુઓ.
બરાબર?
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: અરે વાહ, નિર્દેશક એક સરનામું છે.
કે ક્યારેય ભૂલશો નહીં.
તે સૌથી મહત્વપૂર્ણ જેવું છે પોઇન્ટર વિશે ભાગ છે.
સંગ્રહ અને સરનામું છે કેટલાક ચલ છે.
બીજું કંઈપણ?
કોઈપણ અન્ય પ્રશ્નો છે?
બરાબર.
>> તેથી પોઇન્ટર અને એરે.
યાદ રાખો કે હું એરે 3 પૂર્ણાંક શું છે, મૂળભૂત રીતે, હું શું કરી રહ્યો છું હું પ્રકારની, છું છે
ના, એક નિર્દેશક માં જાહેર.
તેથી એરે પ્રકારની માટે નિર્દેશક જેવી છે મેમરી ચોક્કસ સ્થળ કે જેમાં હું
પૂર્ણાંકો માટે ત્રણ સ્લોટ ફાળવવામાં.
કે અર્થમાં છે?
>> હું પૂર્ણાંક એરે 3 જ્યારે તેથી, હું શું છું કરી, મૂળભૂત રીતે, ત્રણ રહ્યા છે
મેમરી સ્લોટ.
તેથી હું માત્ર મેમરી ત્રણ સ્લોટ શોધો.
તેથી હું પછી, એક તારો એરે, તે કરો તો મૂળભૂત રીતે એરે સામગ્રી અર્થ થાય છે,
જે હું જાઓ, હું નિર્દેશક ભૂંસી અર્થ એ થાય તે પોઇન્ટ છે કે જે જગ્યા છે,
અને હું નંબર એક મૂકો.
>> અને પછી, હું સ્ટાર એરે વત્તા 1 કરો તો, કે એરે કરી તરીકે જ વાત છે
માત્ર હું પર જાઓ, જેનો અર્થ છે એક કૌંસ તે તરફ સંકેત છે કે આ સ્થળ.
અને પછી વત્તા 1 બનાવે મને એક પદ પાળી.
તેથી હું ખરેખર આ સ્થિતિ પર જાઓ અને બે નંબર મૂકો.
>> અને પછી, છેવટે, હું જ્યારે કરવું એરે વત્તા 2, હું જ્યાં પર જાઓ
પર એરે માતાનો પોઇન્ટ.
અને પછી હું મેમરી બ્લોકો ખસેડવા.
અને પછી હું અહીં સંખ્યા ત્રણ મૂકો.
અરે વાહ?
>> પ્રેક્ષક: તેથી સ્ટાર એરે ખાલી છે ખૂબ પ્રથમ બિંદુ કહે.
અને તમે માત્ર કારણ કે, 1 ઉમેરી શકો છો અમે માત્ર ખરેખર છો
કે પ્રથમ સરનામું સંદર્ભ.
>> LUCAS: અરે વાહ.
આપણે શા માટે, ઉદાહરણ તરીકે, એરે કહે છે 0, એરે 1, અને એરે 2?
હું શા માટે તમે 0 કરવું, કહી રહ્યો છું 1, 2, 3 ને બદલે 1, 2, 3?
એક કારણો છે, એક, કોમ્પ્યુટર છે પ્રોગ્રામરો શરૂ પસંદ કરે છે
0 થી ગણતરી.
તમે એરે 0 કરવું કારણ કે જ્યારે બે છે તે એરે કરી તરીકે જ વાત છે
એટલે કે વત્તા 0, હું પર જાઓ તે સ્થિતિમાં, અને હું નથી
કોઈપણ મેમરી બ્લોક્સ અવગણો.
તેથી હું કોઇ મેમરી બ્લોકો ખસેડવા નથી.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: તેથી તે શું છે પૂછવા છે કરી વચ્ચે તફાવત
આ કે malloc કરી.
તફાવત એ છે કે છે પૂર્ણાંક એરે 3 એક બનાવવા છે
સ્ટેક પર એરે.
અને હું malloc શું છે, તે ઢગલો પર બનાવે છે.
કે અર્થમાં છે?
>> આમ કેવી રીતે malloc ખરેખર કામ કરે છે?
તેથી શા માટે અમે પણ malloc વાપરવા માટે જરૂરી છે?
આધાર તમારા કમ્પાઇલર પ્રકારની બહાર બધા તમે જાહેર કે ચલો.
અને તે બધા માટે જગ્યા બનાવે છે સ્ટેક તેમને.
તેથી તમારા ચલો બધા જતા હોય છે ક્યાંક સ્ટેક માં છે.
અહીં પર્યાવરણ ચલો છે.
>> તે ચલો માટે જેથી મૂળભૂત, જગ્યા મેમરી પર ફાળવવામાં આવે છે
સમય કમ્પાઇલ.
તેથી તે તમારા કમ્પ્યુટર છે કે જે થાય છે તે ચલો તમામ ખબર
અગાઉથી.
તે શું કિંમત ખબર જરૂર નથી તમે તેમને મૂકવા જઈ રહ્યાં છો.
પરંતુ તે કેવી રીતે કરવાની જરૂર છે તમે જરૂર બધી મેમરીનો.
>> પરંતુ હવે, ચાલો, ઉદાહરણ તરીકે, કહે છે કે દો તમે એક એરે બનાવવા અથવા એક લઇ રહ્યા છીએ
તમે લઈ રહ્યા છો તે શબ્દમાળા વપરાશકર્તા માંથી.
તમે જાણતા નથી કે કેવી રીતે લાંબા શબ્દમાળા ઉદાહરણ તરીકે, કરી રહ્યું છે.
તેથી જો તમે ચોક્કસ કેટલી ખબર નથી મેમરી બ્લોક્સ તમે, ફાળવવા?
>> તેથી તે ખરેખર માટે અર્થમાં નથી તમે 100 અક્ષરો મૂકી કહે છે.
અને પછી વપરાશકર્તા 150 લખે શું છે?
તમે ખરાબ કરી રહ્યા છીએ.
>> જેથી મૂળભૂત છે, તમે કેવી રીતે ખાતરી કરી શકાતી નથી તમે ફાળવણી કરવાની જરૂર બધી મેમરીનો
જ્યારે તમે કાર્યક્રમ કમ્પાઇલ.
તમે માત્ર સ્કોર સમય પર છો.
તમે ઢગલો છે તેથી કે શા માટે છે.
તેથી આ ઢગલો મેમરી હોય રહ્યું છે તમે દરમિયાન ફાળવણી રહ્યાં છો
કાર્યક્રમ ચાલી સમયગાળો.
>> તેથી મૂળભૂત રીતે, તમે malloc શું છે, શું તમે મેમરી ફાળવણી છે કરી રહ્યા છીએ
તમે છો, એટલે કે રનટાઇમ, કે તે સમયે યોગ્ય નિર્ણય કે તમે
કે મેમરી હોવી જોઇએ.
તમે તેને ફાળવણી કરી રહ્યા હો ત્યારે તેથી તે છે.
કે અર્થમાં છે?
>> તેથી સ્ટેક ચલો છે, યાદ કે કમ્પાઇલ સમય પર બનાવવામાં આવે છે.
અને પછી ઢગલો ચલો છે તમે જાઓ તરીકે બનાવવામાં આવે છે
ઉદાહરણ તરીકે malloc સાથે.
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: તેથી GetString છે malloc કહી રહ્યા.
મને malloc વિશે વાત કરો, અને હું GetString સમજાવવું પડશે.
તેથી malloc આ જ વાત છે મેમરી ફાળવણી છે.
તેથી તે ફાળવણી બનશે ઢગલો પર મેમરી.
અને તે માટે નિર્દેશક પરત ચાલી રહ્યું છે જ્યાં કે મેમરી ની ફાળવણી કરવામાં આવી હતી.
>> તેથી જો તમે કરવું જ્યારે
અહીં ઉદાહરણ માટે
એ સ્ટાર નિર્દેશક.
અને પછી નિર્દેશક malloc બરાબર ઇંચ ગુણ્યા 10 ની માપ.
હું એક નિર્દેશક બનાવવા છું.
અને પછી હું કે નિર્દેશક સોંપણી છું નિર્દેશક કે malloc ની કિંમત
મને આપે છે.
>> તેથી હું પૂછવા છું malloc તમે સ્થાપિત કરી શકે છે 10 પૂર્ણાંકો માટે જગ્યા.
તે કહે છે તે છે.
અને malloc મને પાછા આપે છે એક કે સ્થળ પર નિર્દેશક.
અર્થમાં બનાવે છે?
બરાબર.
હું અને GetString, મૂળભૂત રીતે, એક કરી છે તમે ફાળવી શકો છો જેથી malloc માટે કૉલ
રનટાઈમ દરમિયાન મેમરી.
>> હંમેશા નલ ચકાસવા માટે યાદ malloc નલ પાછા જઈ રહ્યું છે, કારણ કે
તે મેમરી ફાળવણી કરી શકે નહિં.
માતાનો તમે હાસ્યાસ્પદ માટે પૂછો કે કહો મેમરી રકમ.
તમારા કમ્પ્યુટર નથી ચાલી રહ્યું છે ખૂબ કે ફાળવવા માટે સક્ષમ.
>> તેથી malloc માત્ર રહ્યું છે નલ પરત.
તેથી હંમેશા તે ચકાસવા માટે યાદ તમે malloc તરફથી મળી કે નિર્દેશક છે
નલ કે નહીં તે હોય, તો તમે કદાચ, કારણ કે નિર્દેશક dereferencing કરી અને
બાજુ ખામી કારણ.
અને છેલ્લે, ભૂલશો નહીં તમારા મફત મેમરી.
>> Malloc ઢગલો મેમરી રહ્યા છે.
અને તમે મેમરી મુક્ત છે કાર્યક્રમ પૂર્ણ થાય છે પહેલાં.
ઠીક છે, તે મારા માટે બધા છે.
માફ કરશો, રોબ.
આભાર.
>> [વધાવી]
>> LUCAS: કોઈપણ છેલ્લા પ્રશ્નો રોબ આવે તે પહેલાં?
કોઈ?
અરે વાહ?
>> પ્રેક્ષક: હું જોઈ ન હતી આ એક ઓનલાઇન.
તમે હજુ સુધી તે અપલોડ છે?
>> LUCAS: હું ડેવ છે ટૂંક સમયમાં તે અપલોડ.
>> ડેવ: તે પોસ્ટ કરવામાં આવશે.
>> LUCAS: તે ઓનલાઇન હશો.
>> પ્રેક્ષક: તે કરો.
>> LUCAS: તે છે?
બરાબર.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: હા, તમે મુક્ત કરીશું તમામ ઢગલો મૂકી છે કે મેમરી.
>> AUDIENCE: [અશ્રાવ્ય]?
>> LUCAS: હા.
તમે એક સંસ્કૃતિ malloc છે કે કોઈપણ સમયે, તમે મફત એક સંસ્કૃતિ હોવા જોઈએ
તમે પછી કે ચલ ઉપયોગ કરવાનું બંધ.
તેથી malloc અને મફત છે હંમેશા સાથે.
તેમના શ્રેષ્ઠ મિત્રો.
અરે વાહ.
રોબ?
>> રોબ: હું ઝડપથી જાઓ પડશે.
અને પણ વિડિઓ મૂકવામાં આવશે.
હું પર માઇક છે.
>> ઠીક છે, તેથી સપ્તાહ પાંચ સામગ્રી.
અમે પ્રથમ વસ્તુ સ્ટેક છે.
તેથી માત્ર એક સ્ટેક છે તે યાદ સક્રિય કાર્ય કોલ પ્રતિ ફ્રેમ.
અમે એક બીજા કે જોશો.
અને પણ ખરેખર જાય છે યાદ દરેક સ્ટેક ફ્રેમ માં હશે આવે છે
અમારા કાર્યો સ્થાનિક ચલો, માં પસાર થાય છે કે દલીલો અમારા
એક દંપતિ સાથે કાર્યો, અન્ય વસ્તુઓ તમે ખરેખર નથી
વિશે ચિંતા કરવાની જરૂર છે.
>> અહીં જ્યાં એક ઉદાહરણ કાર્યક્રમ છે, સૂચના, મુખ્ય પરત printfing છે
foo 4 મૂલ્ય.
foo માત્ર પાછા જઈ રહ્યું છે બાર 4 અલ્પવિરામ 6 કિંમત.
અને બાર કેટલાક સ્થાનિક સુયોજિત રહ્યું છે 4 વખત 6 બરાબર ચલ n.
અને પછી એ આવો.
>> તેથી આપણે સમગ્ર સ્ટેક જુઓ આ કાર્યક્રમ ના વાસ્તવિક પુનરાવૃત્તિ.
તેથી અમારા સ્ટેક તળિયે છે.
સ્ટેક સુધી વધે છે કે યાદ રાખો.
અમારા સ્ટેક તળિયે તેથી, અમે મુખ્ય માટે એક સ્ટેક ફ્રેમ હોય છે.
જ્યારે આ કાર્યક્રમ શરૂ થાય છે, મુખ્ય હંમેશા અંતે હોઈ ચાલે છે
અમારા સ્ટેક નીચે.
>> અને અંદર છે અમારા મુખ્ય માટે ફ્રેમ ગંજી?
તેથી કોઈ સ્થાનિક છે, તેમ છતાં મુખ્ય માટે ચલો હું પહેલાં જણાવ્યું હતું કે, જેમ
અમે argc અને rgv જગ્યા લેવા છે મુખ્ય સ્ટેક ફ્રેમ ની અંદર.
હવે રહ્યું છે તેથી મુખ્ય આ કાર્ય foo કહે છે.
અને તે foo રહ્યું છે એનો અર્થ એ થાય તેની પોતાની સ્ટેક ફ્રેમ છે.
>> તેથી હવે અમે અંદર છો આ કાર્ય foo.
અને શું જવા માટે જરૂર છે foo માતાનો સ્ટેક ફ્રેમ?
વેલ, foo એક દલીલ એ છે.
તે છે અને ત્યારથી એ 4 બરાબર શું છે મુખ્ય foo દલીલ તરીકે પસાર છે.
>> તેથી હવે foo બાર કહી રહ્યા છે.
શું બાર અંદર હોય રહ્યું છે તેની 'સ્ટેક ફ્રેમ?
તે છ સમાન 4 વાય બરાબર એક્સ છે.
કે અમે હોય રહ્યા છીએ તે બધા નથી બાર કારણ કે સ્ટેક ફ્રેમમાં
પણ સ્થાનિક ચલ n છે.
અને એ અમે 24 સમાન સુયોજિત કરવા માટે જઈ રહ્યાં છો.
>> તેથી હવે બાર એ પાછા જઈ રહ્યું છે.
તેથી બાર 24 પરત આવે છે સ્ટેક ફ્રેમ foo.
અને બાર હવે, પરત આવે છે, કારણ કે અમે સ્ટેક ફ્રેમ પોપિંગ રહ્યાં છો એનો અર્થ એ થાય
સ્ટેક બંધ બાર માટે.
બાર હતી જેથી તમામ મેમરી ઉપયોગ સ્ટેક બોલ હવે છે.
>> હવે, foo પણ રહ્યું છે મુખ્ય 24 પાછા.
તેથી હવે કે foo, મેમરી પરત આવે છે કે foo તેના 'માં ઉપયોગ કરવામાં આવ્યો હતો
સ્ટેક ફ્રેમ પણ ગયો છે.
અને હવે, મુખ્ય printf કહી રહ્યા છે.
તેથી printf માત્ર અન્ય કાર્ય છે.
અમે printf કહી છે, તે જ હશે આ printf માટે અન્ય સ્ટેક ફ્રેમ
વિધેય કોલ.
>> શું અમે printf પસાર કરવામાં આવે છે?
તે જવા માટે ચાલે છે તે છે તેના સ્ટેક ફ્રેમ પર.
ખૂબ જ ઓછામાં ઓછા, અમે પસાર કરી રહ્યાં કે ટકા હું એ બેકસ્લેશ અને
દલીલ 24.
તે સ્ટેક ફ્રેમ છે માં તે વધુ હોય શકે છે printf કેટલાક ઉપયોગ કરી થાય તો
સ્થાનિક ચલો.
અમે જાણતા નથી.
>> પરંતુ બધા કે printf માં જાય છે ફ્રેમ ગંજી.
તે printf ચલાવવા બનશે.
પછી printf થાય છે.
તે આપશે.
છેલ્લે, મુખ્ય કરવામાં આવે છે.
મુખ્ય આપશે.
અને પછી અમારા કાર્યક્રમ કરવામાં આવે છે.
અરે વાહ?
>> પ્રેક્ષક: તમે જોઈ રહ્યા છો [અશ્રાવ્ય]
દલીલો [અશ્રાવ્ય]
પરિમાણો?
>> રોબ: તેથી સૂક્ષ્મ તફાવત છે દલીલો અને પરિમાણો વચ્ચે.
અને ખરેખર, સામાન્ય વાત, લોકો કરે છે માત્ર બધા સમય તેમને ભળવું.
પરંતુ પરિમાણો ઔપચારિક છે વસ્તુઓ નામ.
>> તેથી argc અને argv આ છે મુખ્ય પરિમાણો.
દલીલો શું તમે ખરેખર છે તે પરિમાણો તરીકે પસાર કરે છે.
તેથી હું 4 foo, 4 કૉલ જ્યારે હું પસાર છું દલીલ છે.
અને અંદર પરિમાણ એ, foo, કિંમત 4 પર લઈ જાય છે
4 થી દલીલ હતી.
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: એ બાર સ્થાનિક ચલ છે.
એ હજુ પણ foo માટે સ્થાનિક છે, પરંતુ તે foo માટે પરિમાણ છે.
તે એક સ્થાનિક ચલ નથી.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: foo માત્ર ફોન છે બાર અને ગમે બાર વળતર પરત.
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: અરે વાહ, માત્ર બહુવિધ જોવા માટે ફ્રેમ ગંજી.
અરે વાહ?
>> પ્રેક્ષક: શા foo કહેવાય હતી printf પહેલાં?
>> રોબ: શા foo printf પહેલાં તરીકે ઓળખાતું હતું?
હું કરી શકે છે તેથી, તેના બદલે, કંઈક પૂર્ણાંક જેવા એક્સ 4 foo બરાબર
અને પછી એક્સ મુદ્રિત.
પરંતુ તેના બદલે, હું કાર્ય સંયુક્ત આ printf દલીલ માં ફોન કરો.
>> પરંતુ નોટિસ કે અમે ખરેખર નથી કરી શકો છો અમે ત્યાં સુધી printf કરવા માટે કૉલ ચલાવો
4 foo શું બહાર આકૃતિ.
તેથી અમે આ મૂલ્યાંકન રહ્યા છીએ.
અને તે થાય છે માત્ર એક જ વાર ચાલુ છે પાછા આવો અને આ મૂલ્યાંકન.
અરે વાહ?
>> પ્રેક્ષક: બંને બાર છે [અશ્રાવ્ય]
કિંમત, શા માટે આપણે [અશ્રાવ્ય] નથી?
>> રોબ: તેઓ સંપૂર્ણપણે પૂર્ણાંક પ્રયત્ન કરીશું.
તે પર કેચ ન હતી બહુવિધ પસાર થશે.
તેથી તે પૂર્ણાંક બાર અને પૂર્ણાંક હોવી જોઈએ તે બંને કારણ foo
પૂર્ણાંકો પરત ફરી રહ્યા છે.
તેઓ જઈ રહ્યાં છો તો રદબાતલ માત્ર છે વાસ્તવિક કિંમતો પાછા.
અરે વાહ?
>> પ્રેક્ષક: તમે એક લીટી હોય તો ઉપર પરત, [અશ્રાવ્ય]?
>> રોબ: પરત ઉપર એક લાઇન?
>> પ્રેક્ષક: યાહ.
જેમ તમે printf અને [અશ્રાવ્ય] ન હોય તો, તે બે વખત છાપો છો?
>> રોબ: foo ની અંદર તેથી?
અમે અહીં એક printf હોય તો?
>> પ્રેક્ષક: યાહ.
>> રોબ: તેથી જો અમે printf અધિકાર હતો અહીં, એક વખત તે છાપી શકે છે.
અમે એક વખત યોગ્ય foo ફોન આવે છે અહીં, પછી અમે printf હિટ પડશે.
તો પછી અમે બાર કહી શકશો.
અને પછી foo આપશે.
અને તે છે.
અમે માત્ર ક્યારેય અનુભવી એકવાર printf.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]
અમે પ્રથમ છો કારણ કે printf foo ફોન printf ફોન અને પછી અમે પસાર કરી રહ્યાં
દલીલો.
>> રોબ: સિદ્ધાંતમાં તેથી, નથી printf foo ફોન?
તેથી કોઈ.
સી રહ્યું છે કે માત્ર ક્રમ અમે કરી શકો છો તે પહેલાં, આ વસ્તુઓ છે ચલાવો
, દલીલો તમામ એક કાર્ય કૉલ કાર્ય માટે હોય છે
સંપૂર્ણપણે મૂલ્યાંકન કરવામાં.
તેથી આ સંપૂર્ણપણે મૂલ્યાંકન કરવામાં આવે છે?
હા, તે માત્ર એક શબ્દમાળા છે.
તે માત્ર એક કિંમત છે.
>> તો પછી અમે સંપૂર્ણપણે છે આ મૂલ્યાંકન.
હવે તમામ, કરવામાં આવે છે એકવાર તેની દલીલો મૂલ્યાંકન કરવામાં આવે છે.
અને હવે અમે આ કરી શકો છો printf માટે ફોન કરો.
અરે વાહ?
>> પ્રેક્ષક: એક પ્રશ્ન.
તમે રદબાતલ કાર્ય છે, જ જોઈએ તમે વળતર અર્ધવિરામ છે?
>> રોબ: તમે વળતર અર્ધવિરામ નથી તમે રદબાતલ કાર્ય હોય છે.
બરાબર.
તેથી હવે કેટલાક ઢગલો સામગ્રી.
તેથી ઢગલો અમે વ્યવહાર જઈ રહ્યાં છો કેવી રીતે ગતિશીલ મેમરી વ્યવસ્થાપન સાથે.
અને આ સીધા સાથે વિરોધાભાસ અમે આપોઆપ ફોન કરશે જે સ્ટેક
મેમરી મેનેજમેન્ટ.
>> સ્ટેક પર તેથી, તમે ખરેખર ક્યારેય કેવી રીતે સ્થાનિક ચલો સાથે વ્યવહાર
દબાણ અને બધી બોલ પોપ કરવામાં આવી રહી છે આ સ્ટેક ફ્રેમ્સ અને તે સામગ્રી.
તમે તે વિશે ચિંતા કરવાની જરૂર નથી.
તે આપોઆપ છે.
તેથી આ ઢગલો જાતે છે.
અને [અશ્રાવ્ય]
આ વિધેયો આવે malloc અને મફત છે.
>> અહીં અન્ય કાર્યક્રમ છે.
અમે કરી રહ્યા છીએ બધા mallocing છે પૂર્ણાંક.
અમે સ્ટાર એક્સ માં સ્ટોર કરી રહ્યાં છો.
અલબત્ત, અમે તપાસ છે એક્સ નલ છે તે જોવા માટે.
તો પછી અમે માત્ર શું સુયોજિત કરવા માટે જઈ રહ્યાં છો એક્સ 50 પોઇન્ટ છે.
, પોઇન્ટ છે શું એક્સ છાપો પ્રિન્ટ એક્સ, અને પછી મફત એક્સ.
>> તેથી આ કેવી રીતે ખરેખર જોવા રહ્યું છે અમે અમારા સ્ટેક અને ઢગલો જોવા તો શું?
તેથી અમે ફરીથી શરૂ કરી શકશો.
પહેલાની જેમ અમારા સ્ટેક નીચે.
તને સીધી ઢગલો યાદ રાખો કે સ્ટેક વિરોધ?
તેથી અમે હોય રહ્યા છીએ ત્યાં અમારા ઢગલો ટોચ.
>> અમારા સ્ટેક તળિયે તેથી, અમે છે મુખ્ય માટે અમારા સ્ટેક ફ્રેમ.
તે argc, argv માટે જગ્યા છે, અને અમે હવે સ્થાનિક ચલ x, હોય છે જે
પૂર્ણાંક સ્ટાર છે.
તેથી અમે ફરી વળવું રહ્યા છીએ આ કાર્યક્રમ દ્વારા.
અમે પ્રથમ વસ્તુ છે malloc માટે કૉલ.
>> તેથી અમે malloc માટે કૉલ કરી રહ્યા છીએ.
Malloc એક કાર્ય છે.
તે સ્ટેક ફ્રેમ વિચાર રહ્યું છે.
અમે malloc માટે પસાર કરવામાં આવે છે?
તે અંદર જાઓ રહ્યું છે સ્ટેક ફ્રેમ.
અમે 4 છે એ, કદ પસાર કરી રહ્યાં છો.
જેથી malloc માટે પસાર થાય છે.
>> Malloc શું કરે છે?
તે અમને ઢગલો પર કેટલાક જગ્યા ખેંચે છે.
તેથી અમે ઢગલો પર જાઓ રહ્યા છીએ.
અને અમે ગ્રેબ રહ્યા છીએ ઢગલો 4 બાઇટ્સ.
તેથી આપણે માત્ર કે આપી દો મનસ્વી સરનામું.
0x123 જસ્ટ કે એક છે ડોળ ઢગલો પર કે સરનામું.
>> જેથી અંદર ખરેખર શું છે સરનામું ox123 પર મેમરી પ્રદેશમાં?
કચરો.
તેથી અમે તે પણ સંગ્રહિત નથી.
તેથી જ્યાં સુધી અમે જાણીએ છીએ કંઈપણ હોઈ શકે છે.
તમે તેને શૂન્ય છે ધારે ન જોઈએ.
તે શૂન્ય મોટા ભાગે છે.
>> તેથી હવે malloc વળતર.
અને અમે જ્યારે malloc વળતર શું કરવું?
અમે તે આપે છે તે સુયોજિત કરો.
અમે બરાબર એક્સ સેટ શું તે પરત આવે છે.
તેથી તે શું પરત આવે છે?
કે છે કારણ કે તે 0x123 પરત છે મેમરી બ્લોક સરનામું તે
માત્ર ઢગલો ફાળવવામાં.
>> તેથી 0x123 એક્સ હવે સેટ કરી રહ્યું છે પાછા 0x123 બરાબર છે, કે જે pictorially,
અમે વારંવાર એક વાસ્તવિક કર્યા એક્સ તરીકે ડ્રો કે બ્લોક માટે પોઇન્ટ તીર.
પરંતુ એક્સ માત્ર કે સરનામું સ્ટોર કરે છે.
તેથી હવે અમે એક્સ નલ છે તે ચકાસવા માટે છે.
તે નલ નથી.
અમે તે malloc સફળ ડોળ કરવો કે.
>> તેથી હવે સ્ટાર એક્સ 50 સમકક્ષ હોય છે.
તેથી સ્ટાર એનો અર્થ યાદ તે સરનામા પર જાઓ.
તેથી 0x123 અમે રહ્યા છીએ તે સરનામા પર જાઓ.
જેથી ત્યાં અમને લઈ આવે છે.
અમે તે સરનામાં પર શું કરી રહ્યા છે?
અમે 50 સ્ટોર કરી રહ્યાં.
>> તેથી આ વાક્ય પછી, કે શું છે વસ્તુઓ જેમ દેખાય છે જતા હોય છે.
તેથી હવે તે લાંબા સમય સુધી છે ત્યાં કચરો છે.
હવે અમે 50 કે ખબર છે કે ચોક્કસ સરનામું કારણ કે
અમે તે માં સુયોજિત કરો.
બરાબર?
તેથી હવે અમે એફ છાપી રહ્યા છીએ.
>> તેથી પ્રથમ અમે સ્ટાર એક્સ છાપી રહ્યા છીએ.
તેથી સ્ટાર એક્સ શું છે?
ફરીથી, સ્ટાર એક્સ પર જાઓ અર્થ એ થાય એક્સ પોઇન્ટ છે કે વસ્તુ.
તેથી એક્સ કે 0x123 જાઓ સ્ટોર કરે છે.
અમે 50 મળે છે.
જેથી એફ છાપો.
અને તે 50 છાપી રહ્યું છે એનો અર્થ એ થાય.
અને પછી આપે છે.
>> અને પછી અમે બીજા printf છે.
હવે અમે ટકા પૃષ્ઠ છો.
તમે તેને જોઇ ન હોય, તો તે છે માત્ર તમે એક નિર્દેશક છાપો કેવી રીતે.
તેથી અમે ટકા ટકા હું છે એફ, અને પહેલેથી જ તે તમામ.
તેથી ટકા પૃષ્ઠ, એક નિર્દેશક છાપો.
>> તેથી એક્સ એક નિર્દેશક છે.
તેથી અમે પોતે એક્સ છાપી રહ્યા છીએ જો, અમે અંદર ખરેખર શું છે છાપવા કરી રહ્યાં છો
જેથી પ્રથમ 0x123 છે એક્સ, પ્રિન્ટ એફ 50 છાપી રહ્યું છે.
બીજા પ્રિન્ટ એફ રહ્યું છે અરે વાહ 0x123 છાપવા માટે?
>> પ્રેક્ષક: તમે ટકા ઉપયોગ કરો છો એક્સ એક નિર્દેશક છાપો?
>> રોબ: તેથી તમે ટકા ઉપયોગ કરી શકું એક્સ એક નિર્દેશક છાપો?
તેથી, તમે આ કરી શકો છો પરંતુ ટકા એક્સ માત્ર છે સામાન્ય રીતે, માટે જેમ તમે કેટલાક હોય તો
પૂર્ણાંક અને તમે છાપવાનો કરવા માંગો છો તે હેક્સાડેસિમલ તરીકે.
તમે તે કેવી રીતે કરવું કે જે હમણાં જ છે.
>> જ્યારે ટકા ડી કરશે દશાંશ તરીકે છાપો.
અમે ટકા મળી હતી કે છે ડી. હું માત્ર પૂર્ણાંક છે.
ટકા પૃષ્ઠ ખાસ છે પોઇન્ટર.
>> તેથી એક્સ એક નિર્દેશક છે.
અમે ટકા પૃષ્ઠ ઉપયોગ કરવા માંગો છો.
પરંતુ ટકા એક્સ કામ કરી શકે છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: અરે વાહ.
આ માટે ઓછામાં ઓછા જેથી call-- હું અહીં તે સમાવેશ થયો ન હતો.
પરંતુ આ બે દલીલો જરૂરી છે આ સ્ટેક ફ્રેમ ની અંદર
કોઈપણ સ્થાનિક ચલો સાથે printf ઉપયોગ કરી થાય છે.
અને પછી આગામી કોલ હવે printf માટે printf ની અંદર સ્ટેક ફ્રેમ છે
ટકા પૃષ્ઠ બેકસ્લેશ n એ અને ગમે તે x ની કિંમત 0x123 છે, કે જે છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: તે કંઈક છાપવા પડશે કે આ જેવો દેખાય છે.
>> AUDIENCE: [અશ્રાવ્ય].
>> રોબ: તેથી તે સરનામું સ્વરૂપમાં તે છાપે છે.
તે એક સરનામું જેવો દેખાય છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: શા માટે છે?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: શા માટે આ નિર્દેશક 4 બાઇટ્સ છે?
તેથી સંપૂર્ણ જથ્થો છે આ સામે 0 ના.
તેથી તે ખરેખર 0x0000000123 છે.
64-bit સિસ્ટમ પર, હશે વધુ zeros સંપૂર્ણ જથ્થો.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય].
>> રોબ: તેથી પ્રથમ printf print-- રહ્યું છે
>> AUDIENCE: [અશ્રાવ્ય].
>> રોબ: હા, તે છાપી રહ્યું છે શું એક્સ પોઇન્ટ છે.
સ્ટાર આ શું કહે છે વસ્તુ તરફ ઇશારો.
તે ગ્રેબ.
તેથી તે પોઇન્ટ છે શું?
50.
તે ગ્રેબ.
કે અમે છાપી રહ્યા છીએ તે છે.
આગામી એક, જ્યારે, અમે છો માત્ર પોતે એક્સ છાપવા.
એફ ની અંદર શું છે?
0x123.
બરાબર.
>> અને પછી, છેવટે, અમે મફત છે.
અમે મુક્ત કરવા પસાર કરવામાં આવે છે?
અમે એક્સ પસાર કરી રહ્યાં છો.
હું ખરેખર પ્રદર્શિત કે સમય તે સ્ટેક ફ્રેમ.
>> તેથી અમે કિંમત પસાર કરી રહ્યાં 0x123 મુક્ત કરવા.
તેથી હવે જાણે મફત, બધા અધિકાર, હું ઢગલો સુધી જવું પડશે
અને તે મેમરી મફત છે.
તે લાંબા સમય સુધી ઉપયોગ છે તે સરનામું 0x123 પર છે.
>> તેથી મફત પ્રકાશિત રહ્યું છે ઢગલો થી છે.
હવે અમારા ઢગલો ફરી ખાલી છે.
અમે કોઈ મેમરી લીક્સ હોય છે.
હવે મફત આપશે.
કે એક્સ હજુ 0x123 છે નોટિસ.
પરંતુ તે હવે માન્ય મેમરી નથી.
અમે લાંબા સમય સુધી ખોટો સંદર્ભ એક્સ જોઈએ.
અરે વાહ?
>> પ્રેક્ષક: 0 બિનજરૂરી પાછા છે?
>> રોબ: 0 બિનજરૂરી returen છે?
હા.
અમે હમણાં જ ત્યાં છે, કારણ કે તે મૂકી અમે હવા માટે વળતર એક છે.
તેથી તે હા, દે, જેવું છે પરત 0 સમાવેશ થાય છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: તેથી મફત એક્સ પછી, શું થાય છે જો અમે નિર્દેશક ખોટો સંદર્ભ માટે પ્રયાસ?
તે કશું ખોટું કે શક્ય છે.
અમે હજુ પણ 50 મળશે કે તે શક્ય છે.
>> તે મેમરી છે, પણ શક્ય છે હવે કંઈક બીજું માટે ઉપયોગ થાય છે.
તેથી તે અવ્યાખ્યાયિત વર્તન છે.
અને અવ્યાખ્યાયિત કંઈપણ અર્થ એ થાય થઇ શકે છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: ના, જેથી તમે સોંપી જો બીજું કંઈક કરવા માટે એક્સ.
તેથી અહીં જો અમે એક્સ સમકક્ષ હોય છે જણાવ્યું હતું કે, malloc કંઈક બીજું
malloc માપ ઘટના
પછી તે મૂળ બ્લોક મેમરી મુક્ત નથી.
અને અમે સત્તાવાર રીતે તે ગુમાવી છે.
કે જે મેમરી છિદ્ર છે.
અમે બધા સંદર્ભો ગુમાવ્યું છે મેમરી કે બ્લોક છે.
તેથી અમે ક્યારેય તેને મુક્ત કરી શકો છો કોઈ રીત નથી.
ઠીક છે, તેથી તે પછી કરવામાં 0 અર્થ આવો.
>> બધા હક છે, તેથી સ્ટેક ઓવરફ્લો.
અહીં વિચાર શું છે?
તેથી યાદ રાખો કે, ઢગલો નીચે રહ્યું છે.
સ્ટેક સુધી ચાલે છે.
તેથી આ વ્યાખ્યાન ના ઉદાહરણ તરીકે, હતી હું જ્યાં મુખ્ય માત્ર રહ્યું છે, લાગે છે
રહ્યું છે આ કાર્ય foo, કૉલ પર પુનરાવર્તિત પોતે કૉલ અને
ફરીથી.
>> તેથી ફ્રેમ જવું છે ગંજી બરાબર એ જ કામ કરે છે.
તેથી અમે મુખ્ય સાથે શરૂ રહ્યા છીએ નીચે સ્ટેક ફ્રેમ છે.
પછી મુખ્ય, foo કહી રહ્યા છે, જે સ્ટેક ફ્રેમ વિચાર રહ્યું છે.
>> પછી foo foo કહી રહ્યા છે ફરીથી, કે જે વિચાર રહ્યું છે
અન્ય સ્ટેક ફ્રેમ.
અને પછી ફરી, અને ફરી, અને ફરી, અને ફરી, ત્યાં સુધી છેવટે, અમે ચલાવવા
ઢગલો માં.
તેથી આ અમે વિચાર કેવી રીતે સ્ટેક ઓવરફ્લો.
અને આ બિંદુએ, તમે seg ખામી.
અથવા તમે ખરેખર seg પહેલાં દોષ છો આ બિંદુએ પરંતુ હા.
>> પ્રેક્ષક: કોર ડમ્પ છે seg દોષ તરીકે જ?
>> રોબ: તેથી તમે સેગ્મેન્ટેશન જોશો દોષ કોર ડમ્પ.
તમે કોર ડમ્પ જ્યારે વિચાર તમે seg ખામી.
અને તે તમામ એક ડમ્પ જેવું છે તમારી વર્તમાન મેમરી સમાવિષ્ટો જેથી
તમે પ્રયાસ કરો અને ઓળખી શકે છે કે શા માટે તમે faulted seg.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: તેથી સેગ્મેન્ટેશન ક્ષતિમાં અર્થ સ્ટેક ઓવરફ્લો છે.
તેથી જરૂરી નથી.
એક સેગ્મેન્ટેશન ક્ષતિમાં તમે છો કે જે થાય છે એ રીતે સ્પર્શ મેમરી
તમે ન હોવી જોઈએ.
જેથી રહ્યું એક રીતે, જ્યારે છે જો અમે સ્પર્શ શરૂ, ઓવરફ્લો સ્ટેક
અમે ન હોવી જોઈએ તે રીતે મેમરી.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: એક અનંત લૂપ અંદર તેથી.
જેમ, આ ફરી યાદ આવવું અનંત જેવી છે લૂપ અને તેથી અમે અન્ય વિચાર
સ્ટેક દરેક સમય ફ્રેમ.
પરંતુ માત્ર એક નિયમિત ની અંદર અનંત one-- જ્યારે
સાથે સાથે, ચાલો પણ છાપી ન દો એફ
કંઈક.
ગમે.
>> અમે મળતું હોવું નથી જઈ રહ્યાં છો અન્ય સ્ટેક ફ્રેમ.
અમે હમણાં જ રહ્યાં રાખવા રહ્યા છીએ આ એક સૂચના પર.
આ સ્ટેક વધતી નથી.
તે દરેક ફરી યાદ આવવું છે તે હકીકત છે કોલ અમને સ્ટેક ફ્રેમ આપે છે.
અમે સ્ટેક ઓવરફ્લો વિચાર શા માટે છે.
અરે વાહ?
>> પ્રેક્ષક: તેથી જો તમે વિચાર કહેવાય જ્યારે લૂપ અને પછી [અશ્રાવ્ય]?
>> રોબ: જો જ્યારે લૂપ અંદર તેથી એક printf હતી, તો તમે હજુ પણ કરશે
seg દોષ નથી.
હું માત્ર વસ્તુઓ ગૂંચવાડો ઊભો કરવા માંગો છો ન હતી.
તે લૂપ કરશે.
તમે એક સ્ટેક મેળવવા માગો છો આ printf માટે ફ્રેમ.
>> પછી printf પરત ફરશે.
પછી તમે ફરીથી લૂપ છો.
તમે એક સ્ટેક મેળવવા માગો છો આ printf માટે ફ્રેમ.
તે પાછો આવશે.
એક સ્ટેક ફ્રેમ.
તેથી જો તમે આ અનંત ન મળી રહ્યા સ્ટેક ફ્રેમ્સ અપ અમાનત જથ્થો ઊભો કરવો.
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: હા.
તેથી આ સ્ટેક ઓવરફ્લો થાય આ કંઈ કારણ
foo કોલ્સ પરત ફરી રહ્યા છે.
અમે પાછા તો પછી અમે કરશે તેથી સ્ટેક ફ્રેમ્સ ગુમાવી શરૂ કરો.
અને પછી અમે સ્ટેક ઓવરફ્લો નથી.
તમે આધાર કેસ જરૂર શા માટે અને તે છે તમારી વ્યક્તિગત કાર્યો માટે.
અરે વાહ?
>> પ્રેક્ષક: સંભવિત કદ અને છે ઢગલો માટે જ માટે ગંજી
બધા કાર્યક્રમો?
>> રોબ: આશરે.
છે સ્ટેક સંભવિત કદ અને બધા કાર્યક્રમો માટે જ ઢગલો?
આશરે.
કેટલાક રેન્ડમાઈઝેશન માટે છે જ્યાં સ્ટેક શરૂ થાય છે અને
જ્યાં ઢગલો શરૂ થાય છે.
તમે એક સંપૂર્ણ ઘણો છે થાય છે વૈશ્વિક ચલો અને વસ્તુઓ, તમે કદાચ
કેટલાક જગ્યા માંથી દૂર લઇ તમારા ઢગલો માટે.
>> 64-bit સિસ્ટમ પર, તમે વર્ચ્યુઅલ અનંત મેમરી છે.
માત્ર ખૂબ જ છે.
32 બિટ્સ અને 64 બિટ્સ, કે વચ્ચે નોંધપાત્ર તફાવત છે.
>> તમે વધુ સંપૂર્ણ ઘણો વિચાર જઈ રહ્યાં છો 64-bit પર ગંજી અને ઢગલો જગ્યા
સિસ્ટમ માત્ર વધારે છે કારણ કે તેઓ ઉપયોગ કરી શકો છો સંબોધે છે.
પરંતુ વ્યક્તિગત સિસ્ટમ પર, તે થશે સ્ટેક આશરે જ જથ્થો હોઈ
અને ઢગલો જગ્યા.
અધિકાર છે.
>> તેથી છેલ્લા વસ્તુ સંકલન છે.
તેથી તમે આ પ્રક્રિયા ખબર હોવી જોઇએ.
ચાર મોટા પગલાંઓ છે.
જેથી પ્રથમ એક જોઈએ યાદ સરળ છે.
પૂર્વ પ્રક્રિયા.
તે માં પૂર્વ ઉપસર્ગ છે.
તેથી તે બીજું બધું પહેલાં આવે છે.
>> યાદ આ બાબત હેશ છે.
તેથી હેશ વ્યાખ્યાયિત અને હેશ સમાવેશ તે તમામ.
તે બધા પૂર્વ પ્રોસેસર છે ડાઈરેક્ટીવો.
આ વસ્તુઓ છે કે જે છે પૂર્વ પ્રોસેસર કાળજી લે છે.
>> તેથી પૂર્વ પ્રોસેસર શું કરે છે?
તે ખરેખર મૂક વાત છે.
તે સક્ષમ છે આ તમામ તમામ છે નકલ, અને કટ, અને પેસ્ટ કામગીરી.
>> તેથી હેશ પ્રમાણભૂત i0 ડોટ ક છે.
કરી કે શું છે?
તે પ્રમાણભૂત i0 ડોટ ક પડતો છે ફાઇલ અને ટોચ માં પેસ્ટ
ત્યાં તે હેશ સમાવેશ થાય છે પ્રમાણભૂત i0 ડોટ ક.
>> અને કોઈ પણ હેશ અમે કર્યું છે કે વ્યાખ્યાયિત જોવા મળે છે, શું કરવાનું છે કે?
તેના હેશ કિંમત છે કે જે નકલ અને પેસ્ટ વ્યાખ્યાયિત વ્યાખ્યાયિત કરેલ છે
ત્યાં તમે કિંમત ઉપયોગ કરી રહ્યા છો.
તેથી preprocessor માત્ર ખરેખર કરે સાદી લખાણ આધારિત કામગીરી.
તે સ્માર્ટ કંઈ નથી.
તેથી બીજું બધું છે વધુ જટિલ.
>> તેથી હવે કે preprocessor છે પૂર્ણ, અમે ખરેખર કમ્પાઇલ.
તેથી કમ્પાઇલ શું અર્થ છે?
હવે અમે સી કોડ માંથી રહ્યા છીએ વિધાનસભા કોડ છે.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: અરે વાહ, અમે તે નહીં.
તેથી સંકલન.
અમે વિધાનસભા માટે કેચ માંથી જઈ રહ્યાં છો.
તેથી આ એક વાસ્તવિક ભાષા ફેરફાર છે.
પોતે સંકલન જઈને અર્થ એ થાય માટે એક ઉચ્ચ સ્તર ભાષા
નીચા સ્તર ભાષા.
>> અને સી ઊંચા સ્તર ભાષા છે વિધાનસભા સરખામણીમાં.
વિધાનસભા શું છે?
છે કે તેના સૂચનો ખૂબ ખૂબ, તમારા CPU માટે કરી હતી.
પરંતુ તમારા કમ્પ્યુટર હજુ પણ કરે છે વિધાનસભા સમજી નથી.
તે માત્ર ત્યારે જ મુદ્દાઓ અને zeros સમજે છે.
તેથી આગામી પગલું, એસેમ્બલ આવે છે, જે આ સૂચનો અમને લાવે છે કે જે
તમારા CPU સમજે છે અને ખરેખર માટે, તેમને અનુવાદ
આ મુદ્દાઓ અને zeros.
>> બાઈનરી વિધાનસભા સી તેથી.
પરંતુ હું હજુ સુધી એક એક્ઝેક્યુટેબલ નથી.
તેથી CS50 પુસ્તકાલય લાગે છે.
અમે દ્વિસંગી માટે સાથે તમે પૂરી પાડવામાં આવી છે GetString છે આ CS50 પુસ્તકાલય,
અને GetInt અને તે તમામ.
>> પરંતુ CS50 પુસ્તકાલય
અને પોતે ના એક્ઝેક્યુટેબલ નથી.
તે એક મુખ્ય કાર્ય નથી.
તે બાઈનરી માત્ર એક ટોળું છે તમે ઉપયોગ કરી શકો છો.
તેથી લિંક અમે સાથે બધા લાવે છે કેવી રીતે છે આ વિવિધ બાઈનરી ફાઈલો
એક વાસ્તવિક એક્ઝેક્યુટેબલ માં.
તમે ટાઈપ કરી શકો છો કે જે એક કોઈ કોઈ બહાર સ્લેશ.
>> તેથી આ ફાઇલ જેવું છે કે તમે લખ્યું હતું - જે તમારા કાર્યક્રમ ઠીક
Ceaser ડોટ સી.
પરંતુ હવે તે સંકલિત કરવામાં આવ્યું બાઈનરી નીચે.
તેથી Ceaser ડોટ ઓ.
અને આ અમારી CS50 બાઈનરી લાઈબ્રેરીઓ છે.
અને તેઓ સંયુક્ત આવી રહી રહ્યા છો એક એક્ઝેક્યુટેબલ માં.
અરે વાહ?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: તેથી પ્રથમ સમાવેશ થાય છે, યાદ રાખો કે, સમાવેશ થાય છે ખરેખર એક છે હેશ
પૂર્વ પ્રોસેસર પગલું.
પરંતુ તે અલગ છે.
તમે કોઈપણ કાર્યો ઉપયોગ કરી રહ્યાં છો કે પછી તમારા એક ફાઈલ બહાર હો,
ના, તમે કંઈપણ લિંક કરવાની જરૂર નથી તમે બધું હોય છે.
>> તેણે કહ્યું, કે printf સાથે જોડાયેલા કરવામાં આવી રહી છે.
તમે ક્યારેય printf વાપરવા માટે, કે જે કંઈક છે કે સાથે જોડાયેલા કરવાની જરૂર છે
તમે તે લખવા ન હતી કારણ કે.
અને, હકીકતમાં, printf આપોઆપ છે સાથે જોડાયેલા.
તમે જાણો છો કે કેવી રીતે આદેશ વાક્ય પર અથવા જ્યારે તમે તેને હોય છે, જુઓ બનાવવા લખો
કડી છે કે જે આડંબર એલ CS50, આ CS50 પુસ્તકાલય?
કે Printf, અને સામગ્રી, રહ્યું છે આપોઆપ સાથે જોડાયેલા છે.
બાબતની કોઈપણ અન્ય પ્રશ્નો છે?
>> AUDIENCE: [અશ્રાવ્ય]?
>> રોબ: લિંક?
અમે સંપૂર્ણ જથ્થો છે વિવિધ બાઈનરી ફાઈલો.
આ પ્રમાણભૂત ઉદાહરણ છે અમે વાપરો કે જે CS50 પુસ્તકાલય છે.
અમે સંકલિત અને તમે કરવા માટે આપવામાં આવ્યું છે આ CS50 પુસ્તકાલય માટે બાઈનરી.
>> તમે GetString ઉપયોગ કરવા માંગો છો તમારા કાર્યક્રમ.
તેથી જો તમે જાઓ અને GetString ઉપયોગ કરે છે.
પરંતુ મારા બાઈનરી કોડ વિના GetString, તમે તમારા કોડ કમ્પાઇલ જ્યારે
નીચે, તમે ખરેખર ચલાવી શકો નહિં તમારા કાર્યક્રમ GetString શબ્દમાળા છે, કારણ કે
હજુ સુધી સંપૂર્ણપણે વ્યાખ્યાયિત નથી.
>> તમે મારા દ્વિસંગી લિંક જ્યારે તે માત્ર ત્યારે જ છે કે બધા, કે હવે GetString છે
અધિકાર, હું ખરેખર આ કરી શકો છો GetString ચલાવો.
મારા ફાઈલ સંપૂર્ણ છે.
અને હું આ ચલાવી શકો છો.
અરે વાહ?
>> પ્રેક્ષક: કન્વર્ટ લિંક નથી બાઈનરી એક્ઝેક્યુટેબલ માટે?
તમે અન્ય નથી તેથી તો પણ પુસ્તકાલયો, તે હજુ પણ નહીં હોય
અનુવાદ કરવા જરૂરી [અશ્રાવ્ય]?
>> રોબ: તેથી એક્ઝિક્યુટેબલ બાઈનરી હજુ પણ છે.
તે માત્ર એક સંપૂર્ણ સંયોજન છે દ્વિસંગીઓ ઓફ ટોળું.
>> પ્રેક્ષક: તમે ખૂબ આભાર.
>> રોબ: કોઈ સમસ્યા નથી.
કોઈપણ અન્ય પ્રશ્નો છે?
અન્યથા, અમે બધા સુયોજિત કરી રહ્યાં છો.
અધિકાર છે.
આભાર.
>> [વધાવી]
>> પ્રેક્ષક: આભાર.
>> રોબ: અરે વાહ.