1 00:00:00,000 --> 00:00:02,420 >> [Music kucheza] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 SPIKA: zote haki. 4 00:00:05,980 --> 00:00:08,540 Basi hebu majadiliano juu ya lingine Jambo hiyo ni aina ya pekee ya C, 5 00:00:08,540 --> 00:00:10,010 ambayo ni aina data na vigezo. 6 00:00:10,010 --> 00:00:12,340 Wakati mimi kusema kipekee kwa C, mimi kwa kweli maana tu katika mazingira ya, 7 00:00:12,340 --> 00:00:14,470 kama tumekuwa programu kwa kweli kwa muda mrefu, 8 00:00:14,470 --> 00:00:16,270 wameweza pengine si kazi na aina ya data 9 00:00:16,270 --> 00:00:18,470 kama umetumia kisasa Programu lugha. 10 00:00:18,470 --> 00:00:20,432 Lugha ya kisasa kama PHP na JavaScript, 11 00:00:20,432 --> 00:00:22,640 ambayo tutaweza pia kuona kidogo baadaye katika shaka, 12 00:00:22,640 --> 00:00:25,550 wewe si kweli kuwa bayana Aina ya data ya kutofautiana 13 00:00:25,550 --> 00:00:26,270 wakati matumizi yake. 14 00:00:26,270 --> 00:00:28,067 >> Wewe tu kutangaza yake na kuanza kutumia. 15 00:00:28,067 --> 00:00:29,900 Kama ni integer, ni kujua ni integer. 16 00:00:29,900 --> 00:00:31,960 Kama ni tabia, ni anajua ni tabia. 17 00:00:31,960 --> 00:00:35,320 Kama ni neno, anajua ni kamba, kinachojulikana. 18 00:00:35,320 --> 00:00:37,300 >> Lakini katika C, ambayo ni Lugha wakubwa, tunahitaji 19 00:00:37,300 --> 00:00:39,420 bayana data aina ya kila kutofautiana 20 00:00:39,420 --> 00:00:42,990 kuwa tunajenga mara ya kwanza kwamba sisi kutumia kwamba kutofautiana. 21 00:00:42,990 --> 00:00:45,030 Hivyo C kuja na baadhi ya kujengwa katika aina ya data. 22 00:00:45,030 --> 00:00:46,972 Na hebu kupata ukoo na baadhi ya wale. 23 00:00:46,972 --> 00:00:50,180 Na kisha baadaye tutaweza pia kuzungumza kidogo kuhusu baadhi ya aina ya data 24 00:00:50,180 --> 00:00:54,450 kwamba tumekuwa yameandikwa kwa ajili yenu, hivyo unaweza kuzitumia katika CS50. 25 00:00:54,450 --> 00:00:56,130 >> Kwanza ni int. 26 00:00:56,130 --> 00:00:59,110 Int aina data ni kutumika kwa vigezo ambayo kuhifadhi maadili integer. 27 00:00:59,110 --> 00:01:03,210 Hivyo 1, 2, 3, hasi 1, 2, 3, na kadhalika. 28 00:01:03,210 --> 00:01:05,960 Integers, ambayo ni kitu wewe wanapaswa kukumbuka kwa jaribio, 29 00:01:05,960 --> 00:01:09,590 Daima kuchukua ka nne ya kumbukumbu, ambayo ni 32 bits. 30 00:01:09,590 --> 00:01:11,620 Kuna vipande nane katika Byte. 31 00:01:11,620 --> 00:01:14,470 >> Hivyo hii ina maana kuwa idadi kubwa ya maadili kwamba integer wanaweza kuhifadhi 32 00:01:14,470 --> 00:01:19,130 ni mdogo na kile inaweza kufaa ndani ya 32 bits thamani ya habari. 33 00:01:19,130 --> 00:01:21,850 Sasa kama ni zamu nje, ilikuwa muda mrefu uliopita aliamua 34 00:01:21,850 --> 00:01:24,310 kwamba tunataka wameigawanya kuwa idadi kubwa ya bits 32 35 00:01:24,310 --> 00:01:26,650 ndani ya integers hasi na integers chanya, 36 00:01:26,650 --> 00:01:28,390 kila mmoja alipata nusu ya mbalimbali. 37 00:01:28,390 --> 00:01:32,230 Hivyo mbalimbali ya maadili kwamba sisi kuwakilisha na integer mbalimbali kutoka hasi 2 38 00:01:32,230 --> 00:01:36,520 madarakani tarehe 31 hadi 2 kwa nguvu 31 bala 1, 39 00:01:36,520 --> 00:01:38,190 kusababisha wewe pia haja doa kwa 0. 40 00:01:38,190 --> 00:01:41,650 >> Hivyo kimsingi nusu ya maadili iwezekanavyo unaweza fit katika int ni hasi, 41 00:01:41,650 --> 00:01:42,610 na nusu ni mazuri. 42 00:01:42,610 --> 00:01:47,270 Na takribani hapa, hii ni kuhusu hasi Bilioni 2 kwa kuhusu chanya bilioni 2. 43 00:01:47,270 --> 00:01:50,207 Kutoa au kuchukua wanandoa milioni mia. 44 00:01:50,207 --> 00:01:52,290 Hivyo kwamba ni nini unaweza fit katika integer kutofautiana. 45 00:01:52,290 --> 00:01:55,490 Sasa sisi pia awe na kitu aitwaye integer unsigned. 46 00:01:55,490 --> 00:01:59,220 Sasa ints unsigned si tofauti aina ya kutofautiana. 47 00:01:59,220 --> 00:02:01,590 Badala yake, unsigned ni kile kinachoitwa kufuzu. 48 00:02:01,590 --> 00:02:04,990 Ni modifies data aina ya integer kidogo. 49 00:02:04,990 --> 00:02:07,850 >> Na katika kesi hii, ni nini unsigned means-- na unaweza pia 50 00:02:07,850 --> 00:02:11,530 kutumia unsigned aina nyingine data, integer si moja tu. 51 00:02:11,530 --> 00:02:15,310 Nini ufanisi gani ni mara mbili mbalimbali chanya ya maadili 52 00:02:15,310 --> 00:02:19,350 kuwa integer wanaweza kuchukua juu ya saa gharama ya tena kuruhusu 53 00:02:19,350 --> 00:02:21,140 wewe kuchukua maadili hasi. 54 00:02:21,140 --> 00:02:25,400 Hivyo kama una idadi ambayo unajua kupata juu ya bilioni 2 lakini chini 55 00:02:25,400 --> 00:02:31,280 ya bilioni 4, kwa example-- ambayo ni 2 kwa 32 power-- 56 00:02:31,280 --> 00:02:33,330 unaweza kutaka kutumia int unsigned kama wewe 57 00:02:33,330 --> 00:02:35,050 kujua thamani yako kamwe kuwa hasi. 58 00:02:35,050 --> 00:02:37,216 >> Utasikia mara kwa mara na kutumika kwa ajili ya vigezo unsigned 59 00:02:37,216 --> 00:02:39,460 katika CS50, ambayo ni kwa nini mimi kutaja hapa. 60 00:02:39,460 --> 00:02:43,830 Lakini tena, mbalimbali ya maadili kwamba wanaweza kuwakilisha kwa integer unsigned 61 00:02:43,830 --> 00:02:48,240 kama t integer mara kwa mara, ni 0 kwa 2 hadi 32 nguvu bala 1, 62 00:02:48,240 --> 00:02:50,840 au takriban 0 na bilioni 4. 63 00:02:50,840 --> 00:02:53,730 Hivyo wameweza ufanisi mara mbili mbalimbali chanya kwamba unaweza fit, 64 00:02:53,730 --> 00:02:56,270 lakini wameweza wamekata zote maadili hasi. 65 00:02:56,270 --> 00:03:00,040 >> Sasa kama kando, unsigned si tu kufuzu 66 00:03:00,040 --> 00:03:01,790 tuweze kuona kwa data kutofautiana aina. 67 00:03:01,790 --> 00:03:05,779 Pia kuna mambo kuitwa muda mfupi na muda na const. 68 00:03:05,779 --> 00:03:07,820 Const tutaona kidogo kidogo baadaye katika shaka. 69 00:03:07,820 --> 00:03:10,830 Muda mfupi na muda, sisi pengine si. 70 00:03:10,830 --> 00:03:12,830 >> Lakini tu kujua kwamba kuna ni kufuzu mengine. 71 00:03:12,830 --> 00:03:14,080 Unsigned si moja tu. 72 00:03:14,080 --> 00:03:16,596 Lakini ni moja tu tuko kwenda kuzungumza kuhusu hivi sasa. 73 00:03:16,596 --> 00:03:17,310 Hivyo sawa. 74 00:03:17,310 --> 00:03:18,393 Hivyo tumekuwa kufunikwa integers. 75 00:03:18,393 --> 00:03:19,200 Nini hapo? 76 00:03:19,200 --> 00:03:20,130 >> Chars. 77 00:03:20,130 --> 00:03:23,620 Hivyo chars hutumiwa kwa vigezo kwamba mapenzi kuhifadhi wahusika moja. 78 00:03:23,620 --> 00:03:24,850 Char ni mfupi kwa tabia. 79 00:03:24,850 --> 00:03:27,870 Na wakati mwingine unaweza kusikia Watu kutamka hivyo kama gari. 80 00:03:27,870 --> 00:03:32,020 >> Hivyo wahusika daima kuchukua moja Byte ya kumbukumbu, ambayo ni vipande tu 8. 81 00:03:32,020 --> 00:03:35,700 Hivyo hii ina maana kwamba wanaweza tu walionao maadili katika aina mbalimbali ya hasi 2 82 00:03:35,700 --> 00:03:42,430 madarakani saba, au 128 hasi, 2 madarakani 7 bala 1, au 127. 83 00:03:42,430 --> 00:03:45,710 >> Shukrani kwa ASCII, ilikuwa muda mrefu uliopita aliamua njia 84 00:03:45,710 --> 00:03:50,805 ramani wale idadi chanya kutoka 0-127 kwa wahusika mbalimbali 85 00:03:50,805 --> 00:03:52,182 kwamba yote yapo kwenye keyboard zetu. 86 00:03:52,182 --> 00:03:54,640 Hivyo kama tutaweza kuona baadaye katika Bila shaka, na wewe utakuwa pengine 87 00:03:54,640 --> 00:03:57,700 kuja kukariri katika baadhi uhakika, mji mkuu wa A, kwa example-- 88 00:03:57,700 --> 00:04:00,732 mji mkuu tabia A-- ramani ya idadi 65. 89 00:04:00,732 --> 00:04:02,940 Na sababu ya kuwa ni kwa sababu hiyo ni nini ni 90 00:04:02,940 --> 00:04:05,490 alipewa na kiwango cha ASCII. 91 00:04:05,490 --> 00:04:07,850 >> Lowercase A ni 97. 92 00:04:07,850 --> 00:04:11,900 Tabia 0 kwa wakati kweli aina ya tabia, si 93 00:04:11,900 --> 00:04:13,532 anayewakilisha idadi sifuri, ni 48. 94 00:04:13,532 --> 00:04:15,240 Itabidi kujifunza wanandoa ya hizi kama wewe kwenda. 95 00:04:15,240 --> 00:04:17,990 Na wewe utakuwa shaka kuja haja nao kidogo baadaye katika CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Kuu ya pili data aina ni yaliyo idadi uhakika. 98 00:04:23,390 --> 00:04:26,100 Hivyo yaliyo idadi hatua ni Pia inajulikana kama idadi halisi. 99 00:04:26,100 --> 00:04:28,850 Wao ni kimsingi namba ambazo kuwa alisema hatua ndani yao. 100 00:04:28,850 --> 00:04:33,360 Yaliyo maadili uhakika kama integers ni pia 101 00:04:33,360 --> 00:04:36,090 zilizomo ndani ya 4 ka ya kumbukumbu. 102 00:04:36,090 --> 00:04:37,580 Sasa hakuna chati hapa. 103 00:04:37,580 --> 00:04:40,890 Hakuna mstari idadi, kwa sababu kuelezea aina mbalimbali ya kuelea 104 00:04:40,890 --> 00:04:44,550 si hasa wazi au Intuitive. 105 00:04:44,550 --> 00:04:47,350 >> Inatosha kusema wewe kuwa 32 bits kufanya kazi pamoja. 106 00:04:47,350 --> 00:04:49,730 Na kama una idadi kama pi, ambayo ina 107 00:04:49,730 --> 00:04:55,510 integer sehemu 3, na yaliyo hatua sehemu, au sehemu alisema 0.14159, 108 00:04:55,510 --> 00:04:58,735 na kadhalika, unahitaji kuwa uwezo wa kuwakilisha zote wa hili 109 00:04:58,735 --> 00:05:02,420 integer sehemu na sehemu alisema. 110 00:05:02,420 --> 00:05:04,550 >> Basi je, unafikiri kwamba inaweza kumaanisha? 111 00:05:04,550 --> 00:05:08,180 Jambo moja ni kwamba kama alisema sehemu anapata tena na tena, 112 00:05:08,180 --> 00:05:10,660 kama nina kubwa sana sehemu integer, nipate si 113 00:05:10,660 --> 00:05:13,090 kuwa na uwezo wa kuwa kama sahihi na sehemu alisema. 114 00:05:13,090 --> 00:05:15,280 Na kwamba ni kweli kiwango cha juu ya kuelea. 115 00:05:15,280 --> 00:05:17,229 >> Ikifungwa na tatizo usahihi. 116 00:05:17,229 --> 00:05:19,270 Sisi tu bits 32 kwa kazi na, ili tuweze tu 117 00:05:19,270 --> 00:05:22,510 kuwa hivyo sahihi na decimal yetu sehemu. 118 00:05:22,510 --> 00:05:27,300 Hatuwezi inge alisema sehemu sahihi kwa tarakimu 100 au 200, 119 00:05:27,300 --> 00:05:29,710 kwa sababu sisi tu 32 bits kufanya kazi pamoja. 120 00:05:29,710 --> 00:05:31,590 Hivyo hiyo ni kiwango cha juu ya kuelea. 121 00:05:31,590 --> 00:05:33,590 >> Sasa kwa bahati nzuri kuna aina nyingine inayoitwa data 122 00:05:33,590 --> 00:05:36,530 mara mbili, ambayo kwa kiasi fulani inahusika na tatizo hili. 123 00:05:36,530 --> 00:05:39,980 Mara mbili, kama ikifungwa, pia kutumika kwa kuhifadhi idadi halisi, au hatua yaliyo 124 00:05:39,980 --> 00:05:40,840 maadili. 125 00:05:40,840 --> 00:05:44,340 Tofauti ni kwamba DOUBLES ni usahihi mara mbili. 126 00:05:44,340 --> 00:05:48,177 Wanaweza fit vipande 64 ya data, au ka nane. 127 00:05:48,177 --> 00:05:49,010 Hiyo ina maana gani? 128 00:05:49,010 --> 00:05:51,801 Vizuri, ina maana tunaweza kuwa mengi zaidi sahihi na decimal uhakika. 129 00:05:51,801 --> 00:05:54,830 Badala ya kuwa na pi hadi saba maeneo labda, kwa kuelea, 130 00:05:54,830 --> 00:05:56,710 tunaweza labda wawe nao maeneo 30. 131 00:05:56,710 --> 00:05:59,824 Kama hiyo muhimu, unaweza kutaka kutumia mara mbili badala ya kuelea. 132 00:05:59,824 --> 00:06:01,740 Kimsingi, kama wewe ni kazi juu ya kitu chochote ambapo 133 00:06:01,740 --> 00:06:06,540 kuwa kweli kwa muda mrefu nafasi alisema na mengi ya usahihi ni muhimu, 134 00:06:06,540 --> 00:06:08,630 pengine unataka kutumia overfloat mbili. 135 00:06:08,630 --> 00:06:11,250 Sasa kwa zaidi ya kazi yako katika CS50, kuelea lazima inatosha. 136 00:06:11,250 --> 00:06:15,340 Lakini tunajua kwamba mara mbili zipo kama njia ya kiasi fulani kukabiliana na usahihi 137 00:06:15,340 --> 00:06:20,980 Tatizo kwa kutoa ziada 32 bits kufanya kazi na kwa namba yako. 138 00:06:20,980 --> 00:06:23,650 >> Sasa hii si aina data. 139 00:06:23,650 --> 00:06:24,390 Hii ni aina. 140 00:06:24,390 --> 00:06:25,340 Na ni kuitwa utupu. 141 00:06:25,340 --> 00:06:27,506 Na mimi nina kuzungumza kuhusu suala hilo hapa kwa sababu tumekuwa pengine 142 00:06:27,506 --> 00:06:29,520 kuonekana ni mara chache tayari katika CS50. 143 00:06:29,520 --> 00:06:32,020 Na unaweza kuwa anashangaa nini ni yote juu. 144 00:06:32,020 --> 00:06:33,390 >> Hivyo utupu ni aina. 145 00:06:33,390 --> 00:06:34,097 Ni gani zipo. 146 00:06:34,097 --> 00:06:35,180 Lakini siyo aina data. 147 00:06:35,180 --> 00:06:39,350 >> Hatuwezi kuunda kutofautiana wa aina utupu na kuwapa thamani yake. 148 00:06:39,350 --> 00:06:42,519 Lakini kazi, kwa mfano, unaweza kuwa na aina batili kurudi. 149 00:06:42,519 --> 00:06:45,060 Kimsingi, kama unaweza kuona kazi ambayo ina aina batili kurudi, 150 00:06:45,060 --> 00:06:46,970 ina maana haina kurudi thamani. 151 00:06:46,970 --> 00:06:49,440 Je, unaweza kufikiria kawaida kazi ambayo tumekuwa kutumika hadi sasa 152 00:06:49,440 --> 00:06:52,780 katika CS50 kwamba haina kurudi thamani? 153 00:06:52,780 --> 00:06:54,700 >> Printf ni moja. 154 00:06:54,700 --> 00:06:56,820 Printf haina kweli kurudi kitu chochote na wewe. 155 00:06:56,820 --> 00:06:59,850 Prints kitu cha screen, na ni kimsingi 156 00:06:59,850 --> 00:07:01,650 athari upande wa nini printf gani. 157 00:07:01,650 --> 00:07:03,620 Lakini haina kukupa thamani ya nyuma. 158 00:07:03,620 --> 00:07:08,419 Huwezi kukamata na kuhifadhi matokeo hivyo katika baadhi ya kutofautiana kuitumia baadaye. 159 00:07:08,419 --> 00:07:10,710 Ni tu Prints kitu cha screen na wewe ni kosa. 160 00:07:10,710 --> 00:07:14,360 >> Hivyo tunasema kwamba printf ni batili kazi. 161 00:07:14,360 --> 00:07:16,450 Kuirudisha chochote. 162 00:07:16,450 --> 00:07:18,580 >> Mzunguko orodha ya kazi inaweza pia kuwa batili. 163 00:07:18,580 --> 00:07:21,410 Na umefanya pia kuonekana kwamba kidogo kabisa katika CS50 pia. 164 00:07:21,410 --> 00:07:22,300 Int kuu utupu. 165 00:07:22,300 --> 00:07:23,260 Je, hiyo kuwapigia kengele? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Kimsingi nini maana ni kwamba kuu haina kuchukua vigezo yoyote. 168 00:07:27,220 --> 00:07:29,520 Kuna hoja hakuna kwamba kupata kupita katika kuu. 169 00:07:29,520 --> 00:07:32,780 Sasa baadaye tutaona kuwa kuna njia ya kupita hoja ndani ya kuu, 170 00:07:32,780 --> 00:07:36,189 lakini hadi sasa nini tumekuwa kuonekana ni int kuu utupu. 171 00:07:36,189 --> 00:07:37,730 Kuu tu haina kuchukua hoja yoyote. 172 00:07:37,730 --> 00:07:40,236 Na hivyo sisi bayana kwamba kwa kusema utupu. 173 00:07:40,236 --> 00:07:42,110 Sisi ni kuwa tu sana wazi kuhusu ukweli 174 00:07:42,110 --> 00:07:44,430 kuwa haina kuchukua hoja yoyote. 175 00:07:44,430 --> 00:07:47,160 >> Hivyo kwa sasa, inatosha kusema kwamba kimsingi ni batili 176 00:07:47,160 --> 00:07:50,789 lazima tu kutumika kama placeholder kwa wewe kama kufikiri kuhusu kama si kitu. 177 00:07:50,789 --> 00:07:52,080 Siyo kweli kufanya kitu chochote. 178 00:07:52,080 --> 00:07:53,550 Hakuna kurudi thamani hapa. 179 00:07:53,550 --> 00:07:54,770 Hakuna vigezo hapa. 180 00:07:54,770 --> 00:07:55,709 Ni batili. 181 00:07:55,709 --> 00:07:57,250 Ni kidogo ngumu zaidi kuliko hiyo. 182 00:07:57,250 --> 00:08:00,640 Lakini hii lazima inatosha kwa sehemu bora ya kozi. 183 00:08:00,640 --> 00:08:05,010 Na hopefully sasa una kidogo kidogo zaidi ya dhana ya nini utupu ni. 184 00:08:05,010 --> 00:08:08,460 >> Basi hizo aina tano utasikia kukutana kwamba ni kujengwa katika kwa C. 185 00:08:08,460 --> 00:08:10,670 Lakini katika CS50 sisi pia kuwa maktaba. 186 00:08:10,670 --> 00:08:13,550 CS50.h, ambayo unaweza ni pamoja na. 187 00:08:13,550 --> 00:08:15,930 Na ambayo itatoa na aina mbili za ziada 188 00:08:15,930 --> 00:08:18,280 kwamba pengine utasikia kuwa na uwezo kwa matumizi ya kazi yako, 189 00:08:18,280 --> 00:08:21,210 au tu kufanya kazi kwa ujumla programu. 190 00:08:21,210 --> 00:08:23,030 >> Ya kwanza ya haya ni bool. 191 00:08:23,030 --> 00:08:26,780 Hivyo data Boolean aina, bool, ni kutumika kwa vigezo 192 00:08:26,780 --> 00:08:28,114 kwamba mapenzi kuhifadhi thamani Boolean. 193 00:08:28,114 --> 00:08:29,863 Kama wameweza milele kusikia muda huu kabla, wewe 194 00:08:29,863 --> 00:08:31,960 wapate kujua ya kuwa Boolean thamani ya uwezo wa pekee 195 00:08:31,960 --> 00:08:34,440 kuikopesha maadili mawili tofauti tofauti. 196 00:08:34,440 --> 00:08:35,872 Kweli na uongo. 197 00:08:35,872 --> 00:08:37,580 Sasa hii inaonekana pretty msingi, sawa? 198 00:08:37,580 --> 00:08:40,496 Ni aina ya mshangao kwamba hii haipo katika C kama ni kujengwa katika. 199 00:08:40,496 --> 00:08:42,640 Na katika lugha nyingi za kisasa, bila shaka, Booleans 200 00:08:42,640 --> 00:08:45,390 ni kiwango cha aina data chaguo-msingi. 201 00:08:45,390 --> 00:08:47,192 Lakini katika C, wao ni kweli si. 202 00:08:47,192 --> 00:08:48,400 Lakini tumeunda ni kwa ajili yenu. 203 00:08:48,400 --> 00:08:51,910 Hivyo kama wewe milele haja ya kuunda kutofautiana ambao ni aina bool, 204 00:08:51,910 --> 00:08:55,230 tu kuwa na uhakika wa CS50.h # ni pamoja na mwanzoni mwa mpango wako, 205 00:08:55,230 --> 00:08:57,800 na wewe utakuwa na uwezo wa kujenga vigezo vya aina bool. 206 00:08:57,800 --> 00:09:02,095 >> Kama kusahau # ni pamoja na CS50.h, na kuanza kutumia Boolean-aina vigezo, 207 00:09:02,095 --> 00:09:04,970 unaweza kukutana baadhi ya matatizo wakati wewe ni kuandaa programu yako. 208 00:09:04,970 --> 00:09:06,490 Hivyo tu kuwa juu ya Lookout kwa ajili hiyo. 209 00:09:06,490 --> 00:09:11,180 Na labda unaweza tu kurekebisha matatizo na chupa ikiwa ni pamoja na CS50.h. 210 00:09:11,180 --> 00:09:14,590 >> Nyingine kubwa data aina kwamba sisi kutoa kwa ajili yenu katika maktaba CS50 211 00:09:14,590 --> 00:09:15,670 ni kamba. 212 00:09:15,670 --> 00:09:17,130 Kwa hiyo kile ni kamba? 213 00:09:17,130 --> 00:09:18,520 Masharti ni kweli maneno tu. 214 00:09:18,520 --> 00:09:20,000 Wao ni makusanyo ya wahusika. 215 00:09:20,000 --> 00:09:20,640 Wao ni maneno. 216 00:09:20,640 --> 00:09:21,390 Wao ni hukumu. 217 00:09:21,390 --> 00:09:22,480 Wao ni aya. 218 00:09:22,480 --> 00:09:25,850 Inaweza kuwa vitabu nzima, hata. 219 00:09:25,850 --> 00:09:29,690 >> Mfupi sana kwa muda mrefu sana mfululizo wa wahusika. 220 00:09:29,690 --> 00:09:34,310 Kama unahitaji kutumia masharti, Kwa mfano, kuhifadhi neno, 221 00:09:34,310 --> 00:09:37,609 tu kuwa na uhakika wa ni pamoja na CS50.h mwanzoni mwa mpango wako 222 00:09:37,609 --> 00:09:38,900 hivyo unaweza kutumia aina kamba. 223 00:09:38,900 --> 00:09:43,910 Na kisha unaweza kuunda vigezo aina ambao ni data kamba. 224 00:09:43,910 --> 00:09:46,160 Sasa baadaye katika shaka, tutaweza pia kuona kwamba hiyo ni 225 00:09:46,160 --> 00:09:47,752 si hadithi nzima, aidha. 226 00:09:47,752 --> 00:09:49,460 Tutaweza kukutana mambo aitwaye miundo, 227 00:09:49,460 --> 00:09:54,249 ambayo itawawezesha kundi gani inaweza kuwa na integer na kamba katika kitengo moja. 228 00:09:54,249 --> 00:09:56,290 Na tunaweza kutumia kwamba kwa baadhi lengo, ambayo huenda 229 00:09:56,290 --> 00:09:57,750 kuja katika Handy baadaye katika shaka. 230 00:09:57,750 --> 00:09:59,500 >> Na tutaweza pia kujifunza kuhusu aina inavyoelezwa, 231 00:09:59,500 --> 00:10:01,720 ambayo itawawezesha kujenga data zako aina mwenyewe. 232 00:10:01,720 --> 00:10:03,060 Hatuna haja ya kuwa na wasiwasi juu ya hilo kwa sasa. 233 00:10:03,060 --> 00:10:04,550 Lakini tu kujua kwamba hiyo ni kitu juu ya upeo wa macho, 234 00:10:04,550 --> 00:10:07,633 kwamba kuna mengi zaidi ya yote hii Aina ya neno kuliko mimi nawaambia tu 235 00:10:07,633 --> 00:10:08,133 sasa. 236 00:10:08,133 --> 00:10:10,591 Hivyo sasa kwamba tumejifunza kidogo kuhusu data za msingi 237 00:10:10,591 --> 00:10:14,230 aina na aina CS50 data, hebu majadiliano kuhusu jinsi ya kufanya kazi na vigezo 238 00:10:14,230 --> 00:10:18,530 na kujenga yao kwa kutumia hizi aina ya data katika mipango yetu. 239 00:10:18,530 --> 00:10:22,670 Kama unataka kujenga kutofautiana, wote unahitaji kufanya ni mambo mawili. 240 00:10:22,670 --> 00:10:24,147 >> Kwanza, unahitaji kuwapa aina. 241 00:10:24,147 --> 00:10:26,230 Jambo la pili unahitaji kufanya ni kuwapa jina. 242 00:10:26,230 --> 00:10:28,740 Mara baada ya umefanya kosa hilo na kofi semicolon mwishoni mwa mstari huo, 243 00:10:28,740 --> 00:10:29,830 umeunda kutofautiana. 244 00:10:29,830 --> 00:10:32,370 >> Hivyo hapa ni mifano miwili. 245 00:10:32,370 --> 00:10:35,744 Int idadi; barua char ;. 246 00:10:35,744 --> 00:10:36,660 Nimefanya nini hapa? 247 00:10:36,660 --> 00:10:38,110 Nimekuwa kuundwa vigezo mbili. 248 00:10:38,110 --> 00:10:40,190 >> Kwanza, kutofautiana ya jina ni idadi. 249 00:10:40,190 --> 00:10:44,830 Na idadi ni uwezo wa kufanya integer aina maadili, kwa sababu aina yake ni int. 250 00:10:44,830 --> 00:10:48,040 Barua ni mwingine kutofautiana kwamba wanaweza kushikilia wahusika 251 00:10:48,040 --> 00:10:50,240 kwa sababu aina yake data ni char. 252 00:10:50,240 --> 00:10:51,772 >> Pretty moja kwa moja, sawa? 253 00:10:51,772 --> 00:10:53,480 Kama wewe mwenyewe kupata katika hali ambapo 254 00:10:53,480 --> 00:10:56,250 unahitaji kujenga nyingi vigezo vya aina moja, 255 00:10:56,250 --> 00:10:58,740 wewe tu haja ya kutaja Aina ya jina moja. 256 00:10:58,740 --> 00:11:01,600 Kisha orodha tu vigezo kama wengi ya aina hiyo kama unahitaji. 257 00:11:01,600 --> 00:11:04,230 >> Hivyo mimi naweza kwa mfano, hapa katika mstari huu wa tatu wa kificho, 258 00:11:04,230 --> 00:11:07,420 kusema int urefu ;, mstari mpya. 259 00:11:07,420 --> 00:11:08,291 Int upana ;. 260 00:11:08,291 --> 00:11:09,290 Na kwamba ingekuwa kazi pia. 261 00:11:09,290 --> 00:11:12,039 Ningependa bado kupata vigezo mbili inaitwa urefu na upana, ambayo kila mmoja 262 00:11:12,039 --> 00:11:12,730 ni integer. 263 00:11:12,730 --> 00:11:16,970 Lakini mimi nina kuruhusiwa, mambo ya C syntax, kuimarisha ndani line moja. 264 00:11:16,970 --> 00:11:20,230 Int urefu, upana; Ni kitu kimoja. 265 00:11:20,230 --> 00:11:23,900 Nimekuwa kuundwa vigezo mbili, moja inaitwa urefu mtu mmoja aitwaye upana, wote wawili ambao 266 00:11:23,900 --> 00:11:26,730 wana uwezo wa kufanya integer aina maadili. 267 00:11:26,730 --> 00:11:30,920 >> Vile vile hapa, siwezi kujenga tatu yaliyo maadili uhakika kwa mara moja. 268 00:11:30,920 --> 00:11:33,350 Siwezi labda kuunda kutofautiana aitwaye mraba mzizi wa 2-- 269 00:11:33,350 --> 00:11:35,766 ambayo pengine hatimaye kushikilia point-- yaliyo 270 00:11:35,766 --> 00:11:39,222 kuwa uwakilishi wa mraba mzizi wa 2-- mraba mizizi ya 3, na pi. 271 00:11:39,222 --> 00:11:41,180 Mimi wangefanya hii juu ya mistari tatu tofauti. 272 00:11:41,180 --> 00:11:47,690 Kuelea, mraba mzizi 2; Kuelea mraba mizizi 3; kuelea pi; na kwamba ingekuwa kazi pia. 273 00:11:47,690 --> 00:11:50,590 >> Lakini tena, naweza tu kuimarisha huu katika line moja ya kanuni. 274 00:11:50,590 --> 00:11:54,050 Hufanya mambo kidogo mfupi, si kama clunky. 275 00:11:54,050 --> 00:11:57,259 >> Sasa kwa ujumla, ni kubuni nzuri ya tu kutangaza kutofautiana wakati unahitaji kuwa. 276 00:11:57,259 --> 00:11:59,050 Na tutaweza kuongea kidogo kidogo zaidi kuhusu kwamba 277 00:11:59,050 --> 00:12:00,945 baadaye katika shaka wakati sisi kujadili upeo. 278 00:12:00,945 --> 00:12:03,320 Hivyo si lazima haja ya kujenga wote wa vigezo yako 279 00:12:03,320 --> 00:12:05,990 mwanzoni mwa mpango, ambayo baadhi ya watu wanaweza kuwa amefanya siku za nyuma, 280 00:12:05,990 --> 00:12:08,700 au kwa hakika kawaida sana coding mazoezi miaka mingi iliyopita 281 00:12:08,700 --> 00:12:11,700 wakati wa kufanya kazi na C. Wewe nguvu tu unataka kujenga kutofautiana haki wakati 282 00:12:11,700 --> 00:12:13,140 unahitaji yake. 283 00:12:13,140 --> 00:12:13,640 Sawa. 284 00:12:13,640 --> 00:12:15,150 Hivyo tumeunda vigezo. 285 00:12:15,150 --> 00:12:16,790 Je, sisi matumizi yao? 286 00:12:16,790 --> 00:12:18,650 Baada ya sisi kutangaza kutofautiana, hatuna haja 287 00:12:18,650 --> 00:12:21,237 kutaja aina data ya kwamba kutofautiana tena. 288 00:12:21,237 --> 00:12:24,070 Kwa kweli, kama wewe kufanya hivyo, waweza kuishia na baadhi ya matokeo weird 289 00:12:24,070 --> 00:12:25,490 kwamba tutaweza aina ya Gloss juu kwa sasa. 290 00:12:25,490 --> 00:12:27,365 Lakini inatosha kusema, mambo weird ni kwenda 291 00:12:27,365 --> 00:12:30,740 kuanza kinachotokea kama wewe inadvertently tena kutangaza vigezo kwa jina moja 292 00:12:30,740 --> 00:12:32,210 tena na tena. 293 00:12:32,210 --> 00:12:33,882 >> Hivyo hapa nina mistari minne ya kanuni. 294 00:12:33,882 --> 00:12:36,090 Na mimi kuwa wanandoa wa maoni huko kuonyesha tu 295 00:12:36,090 --> 00:12:37,840 nini kinatokea kwenye kila mstari tu kusaidia 296 00:12:37,840 --> 00:12:40,520 kupata uliojengwa katika nini kinaendelea. 297 00:12:40,520 --> 00:12:41,520 Hivyo int idadi ;. 298 00:12:41,520 --> 00:12:42,520 Ninyi kuona kwamba hapo awali. 299 00:12:42,520 --> 00:12:44,000 Hiyo ni tamko kutofautiana. 300 00:12:44,000 --> 00:12:46,670 >> Nimekuwa sasa umba kutofautiana kuitwa idadi hiyo 301 00:12:46,670 --> 00:12:48,970 uwezo wa kufanya maadili integer-aina. 302 00:12:48,970 --> 00:12:50,210 Nimekuwa amekiri kuwa ni. 303 00:12:50,210 --> 00:12:53,770 >> Mstari unaofuata mimi nina kumshirikisha thamani ya idadi. 304 00:12:53,770 --> 00:12:54,992 Idadi sawa na 17. 305 00:12:54,992 --> 00:12:55,950 Nini kinatokea huko? 306 00:12:55,950 --> 00:12:58,880 Mimi nina kuweka namba 17 ndani ya kwamba kutofautiana. 307 00:12:58,880 --> 00:13:02,760 >> Hivyo kama mimi milele kisha magazeti nje nini yaliyomo ya idadi ni baadaye, 308 00:13:02,760 --> 00:13:04,030 wao itabidi kuniambia ni 17. 309 00:13:04,030 --> 00:13:07,030 Hivyo nimekuwa alitangaza kutofautiana, na kisha nimekuwa kupewa yake. 310 00:13:07,030 --> 00:13:10,570 >> Tunaweza kurudia utaratibu tena kwa char barua ;. 311 00:13:10,570 --> 00:13:11,640 Hiyo ni tamko. 312 00:13:11,640 --> 00:13:14,010 Barua ni sawa na mji mkuu H. Hiyo ni kazi. 313 00:13:14,010 --> 00:13:16,030 Pretty moja kwa moja, pia. 314 00:13:16,030 --> 00:13:18,319 >> Sasa mchakato huu nguvu wanaonekana aina ya silly. 315 00:13:18,319 --> 00:13:20,110 Kwa nini tunafanya hivi katika mistari miwili ya kificho? 316 00:13:20,110 --> 00:13:21,401 Je, kuna njia bora ya kufanya hivyo? 317 00:13:21,401 --> 00:13:22,250 Kwa kweli, kuna. 318 00:13:22,250 --> 00:13:24,375 Wakati mwingine unaweza kuona hii inaitwa initialization. 319 00:13:24,375 --> 00:13:28,446 Ni wakati kutangaza kutofautiana na kuwapa thamani kwa wakati mmoja. 320 00:13:28,446 --> 00:13:30,320 Hii ni kweli pretty jambo la kawaida kufanya. 321 00:13:30,320 --> 00:13:32,870 Wakati kujenga kutofautiana, kwa kawaida nataka kuwa na baadhi ya thamani ya msingi. 322 00:13:32,870 --> 00:13:34,330 Hata kama ni 0 au kitu. 323 00:13:34,330 --> 00:13:36,180 Wewe tu wewe kuwapa thamani. 324 00:13:36,180 --> 00:13:38,360 >> Unaweza initialize kutofautiana. 325 00:13:38,360 --> 00:13:42,320 Int idadi sawa na 17 ni sawa na kwanza mistari miwili ya kificho up hapo juu. 326 00:13:42,320 --> 00:13:46,829 Char barua sawa na h ni sawa na tatu na cha nne mstari wa kanuni juu. 327 00:13:46,829 --> 00:13:49,620 Takeaway muhimu zaidi hapa wakati sisi ni kutangaza na kumshirikisha 328 00:13:49,620 --> 00:13:51,740 vigezo ni baada tumekuwa amekiri kuwa ni, ilani 329 00:13:51,740 --> 00:13:53,700 Mimi si kutumia aina data tena. 330 00:13:53,700 --> 00:13:57,916 Sisemi int idadi sawa na 17 juu ya mstari wa pili wa kanuni, kwa mfano. 331 00:13:57,916 --> 00:13:59,290 Mimi tu kusema idadi ni sawa na 17. 332 00:13:59,290 --> 00:14:02,537 >> Tena, re-kutangaza variable baada ya umefanya tayari alitangaza inaweza kusababisha 333 00:14:02,537 --> 00:14:03,620 kwa baadhi matokeo weird. 334 00:14:03,620 --> 00:14:05,950 Hivyo tu kuwa makini ya kwamba. 335 00:14:05,950 --> 00:14:06,660 >> Mimi nina Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Na hii ni CS50. 337 00:14:08,870 --> 00:14:10,499