1 00:00:00,000 --> 00:00:02,420 >> [TÓNLIST spila] 2 00:00:02,420 --> 00:00:05,189 3 00:00:05,189 --> 00:00:05,980 Ræðumaður: Allt í lagi. 4 00:00:05,980 --> 00:00:08,540 Svo skulum við tala um annað hlutur sem er góður af einstakt að C, 5 00:00:08,540 --> 00:00:10,010 sem er gagnatög og breytur. 6 00:00:10,010 --> 00:00:12,340 Þegar ég segi einstakt að C, ég virkilega aðeins þýða í samhengi við, 7 00:00:12,340 --> 00:00:14,470 ef þú hefur verið forritari fyrir mjög langan tíma, 8 00:00:14,470 --> 00:00:16,270 þú hefur sennilega ekki unnið með gagnatög 9 00:00:16,270 --> 00:00:18,470 ef þú hefur notað nútíma forritunarmál. 10 00:00:18,470 --> 00:00:20,432 Nútíma tungumál eins PHP og JavaScript, 11 00:00:20,432 --> 00:00:22,640 sem við munum einnig sjá smá síðar í námskeiðinu, 12 00:00:22,640 --> 00:00:25,550 þú ert ekki í raun að tilgreina gögn tegund breytu 13 00:00:25,550 --> 00:00:26,270 þegar þú notar það. 14 00:00:26,270 --> 00:00:28,067 >> Þú lýsa bara það og byrja að nota það. 15 00:00:28,067 --> 00:00:29,900 Ef það er heiltala, það veit að það er heiltala. 16 00:00:29,900 --> 00:00:31,960 Ef það er eðli, það er veit það er eðli. 17 00:00:31,960 --> 00:00:35,320 Ef það er orð, veit það það er band, svokölluð. 18 00:00:35,320 --> 00:00:37,300 >> En í C, sem er eldri tungumál, þurfum við 19 00:00:37,300 --> 00:00:39,420 að tilgreina þau gögn gerð öllum breytu 20 00:00:39,420 --> 00:00:42,990 sem við búum í fyrsta skipti sem við notum þá breytu. 21 00:00:42,990 --> 00:00:45,030 Svo C koma með sumir innbyggður-í gögn gerðum. 22 00:00:45,030 --> 00:00:46,972 Og við skulum fá kunnuglegur með nokkrum af þeim. 23 00:00:46,972 --> 00:00:50,180 Og þá síðan við munum einnig tala a svolítið um tiltekin gagnatög 24 00:00:50,180 --> 00:00:54,450 sem við höfum skrifað fyrir þig, svo þú getur notað þau í CS50. 25 00:00:54,450 --> 00:00:56,130 >> Í fyrsta lagi er INT. 26 00:00:56,130 --> 00:00:59,110 Int gögn tegund er notuð fyrir breytur sem mun geyma heiltölugildi. 27 00:00:59,110 --> 00:01:03,210 Svo 1, 2, 3, neikvæð 1, 2, 3, og svo framvegis. 28 00:01:03,210 --> 00:01:05,960 Heiltölur, sem er eitthvað sem þú ættu að hafa í huga fyrir próf, 29 00:01:05,960 --> 00:01:09,590 alltaf að taka upp fjórar bæti minni, sem er 32 bita. 30 00:01:09,590 --> 00:01:11,620 Það eru átta bitar í bæti. 31 00:01:11,620 --> 00:01:14,470 >> Þannig að þetta þýðir að á bilinu gildi sem heiltala getur geymt 32 00:01:14,470 --> 00:01:19,130 takmarkast við það sem passar innan 32 bita virði af upplýsingum. 33 00:01:19,130 --> 00:01:21,850 Nú eins og það kemur í ljós, það var löngu ákveðið 34 00:01:21,850 --> 00:01:24,310 að við myndum skipta upp sem svið af 32 bita 35 00:01:24,310 --> 00:01:26,650 í neikvæðar heiltölur og jákvæðar heiltölur, 36 00:01:26,650 --> 00:01:28,390 hvert getting helmingur af svið. 37 00:01:28,390 --> 00:01:32,230 Svo bilinu gildum sem við hönd með heiltölu á bilinu neikvætt 2 38 00:01:32,230 --> 00:01:36,520 til 31. vald til 2 til 31. máttur mínus 1, 39 00:01:36,520 --> 00:01:38,190 valda því að þú þarft líka stað fyrir 0. 40 00:01:38,190 --> 00:01:41,650 >> Svo í rauninni helmingur af gildunum þú passar í int eru neikvæðar 41 00:01:41,650 --> 00:01:42,610 og helmingur eru jákvæð. 42 00:01:42,610 --> 00:01:47,270 Og u.þ.b. hér, þetta er um neikvæð 2 milljarða til um jákvæða 2 milljarða króna. 43 00:01:47,270 --> 00:01:50,207 Gefa eða taka nokkra hundrað milljónir. 44 00:01:50,207 --> 00:01:52,290 Svo er það sem þú getur passa að í heiltölu breytu. 45 00:01:52,290 --> 00:01:55,490 Nú höfum við líka eitthvað kallað óundirritaður heiltölu. 46 00:01:55,490 --> 00:01:59,220 Nú óundirritaður ints eru ekki sérstaka tegund af breytu. 47 00:01:59,220 --> 00:02:01,590 Frekar, óundirritaður er það sem er kallað undankeppni. 48 00:02:01,590 --> 00:02:04,990 Það breytir gögnum gerð heiltölu lítillega. 49 00:02:04,990 --> 00:02:07,850 >> Og í þessu tilfelli, það undirritunar means-- og þú getur líka 50 00:02:07,850 --> 00:02:11,530 nota óundirritaður aðrar gerðir gögn, heiltala er ekki sú eina. 51 00:02:11,530 --> 00:02:15,310 Hvað það gerir í raun er tvöfaldar jákvæð bil 52 00:02:15,310 --> 00:02:19,350 sem heiltala getur tekið á á kostnað ekki lengur að leyfa 53 00:02:19,350 --> 00:02:21,140 þú að taka á neikvæðum gildum. 54 00:02:21,140 --> 00:02:25,400 Svo ef þú ert með tölur sem þú veist vilja fá hærri en 2 milljarðar en minna 55 00:02:25,400 --> 00:02:31,280 en 4 milljarða, fyrir example-- sem er 2 til 32. power-- 56 00:02:31,280 --> 00:02:33,330 þú might vilja til að nota óundirritaður INT ef þú 57 00:02:33,330 --> 00:02:35,050 veit gildi mun aldrei vera neikvæð. 58 00:02:35,050 --> 00:02:37,216 >> Þú munt stundum hafa notað fyrir óundirritaður breytur 59 00:02:37,216 --> 00:02:39,460 í CS50, sem er ástæða þess að ég nefni það hér. 60 00:02:39,460 --> 00:02:43,830 En aftur, bil sem þú getur táknað með óskráðum heiltölu 61 00:02:43,830 --> 00:02:48,240 eins og t reglulega heiltölu eru 0 2 til 32. krafti mínus 1, 62 00:02:48,240 --> 00:02:50,840 eða um 0 til 4 milljarða króna. 63 00:02:50,840 --> 00:02:53,730 Svo þú hefur í raun tvöfaldast á jákvætt svið sem þú getur passa, 64 00:02:53,730 --> 00:02:56,270 en þú hefur gefið upp alla neikvæð gildi. 65 00:02:56,270 --> 00:03:00,040 >> Nú sem innskot, óundirritaður er ekki eina undankeppni 66 00:03:00,040 --> 00:03:01,790 að við gætum séð fyrir breytilegum gagnatög. 67 00:03:01,790 --> 00:03:05,779 Það eru líka hlutir sem kallast stutt og löng og const. 68 00:03:05,779 --> 00:03:07,820 Const við munum sjá smá aðeins seinna í námskeiðinu. 69 00:03:07,820 --> 00:03:10,830 Skemmri og lengri, munum við sennilega ekki. 70 00:03:10,830 --> 00:03:12,830 >> En bara veit að það eru aðrar undankeppnir. 71 00:03:12,830 --> 00:03:14,080 Óundirritaður er ekki sú eina. 72 00:03:14,080 --> 00:03:16,596 En það er sú eina sem við erum að fara að tala um núna. 73 00:03:16,596 --> 00:03:17,310 Svo allt í lagi. 74 00:03:17,310 --> 00:03:18,393 Þannig að við höfum fjallað heiltölur. 75 00:03:18,393 --> 00:03:19,200 Hvað er næst? 76 00:03:19,200 --> 00:03:20,130 >> Stafir. 77 00:03:20,130 --> 00:03:23,620 Svo stafir eru notuð fyrir breytur sem mun geyma einn stafi. 78 00:03:23,620 --> 00:03:24,850 Char er stutt fyrir staf. 79 00:03:24,850 --> 00:03:27,870 Og stundum þú gætir heyra fólk dæma það sem bíl. 80 00:03:27,870 --> 00:03:32,020 >> Svo stafir taka alltaf upp einn bæti af minni, sem er bara 8 bitar. 81 00:03:32,020 --> 00:03:35,700 Þannig að þetta þýðir að þeir geta passa bara gildi á bilinu neikvæð 2 82 00:03:35,700 --> 00:03:42,430 til sjöunda vald, eða neikvæð 128, 2 til 7. krafti mínus 1, eða 127. 83 00:03:42,430 --> 00:03:45,710 >> Þökk sé ASCII, það var löngu síðan ákvað leið 84 00:03:45,710 --> 00:03:50,805 að kortleggja þær jákvæðar tölur frá 0-127 ýmsum stafi 85 00:03:50,805 --> 00:03:52,182 að allir eru á lyklaborðinu okkar. 86 00:03:52,182 --> 00:03:54,640 Svo eins og við munum sjá síðar í Námskeiðið, og þú munt sennilega 87 00:03:54,640 --> 00:03:57,700 koma til að leggja á minnið á sumir lið, höfuðborg A, fyrir example-- 88 00:03:57,700 --> 00:04:00,732 eðli fjármagns A-- kort til fjölda 65. 89 00:04:00,732 --> 00:04:02,940 Og ástæðan fyrir því er því það er það sem er að það er 90 00:04:02,940 --> 00:04:05,490 falin af ASCII staðall. 91 00:04:05,490 --> 00:04:07,850 >> Lágstafir A er 97. 92 00:04:07,850 --> 00:04:11,900 Persónan 0 þegar þér raunverulega gerð staf, ekki 93 00:04:11,900 --> 00:04:13,532 alþingismaður fjölda núll, er 48. 94 00:04:13,532 --> 00:04:15,240 Þú munt læra nokkra af þessum sem þú ferð. 95 00:04:15,240 --> 00:04:17,990 Og þú munt örugglega koma að þurfa þá svolítið seinna í CS50. 96 00:04:17,990 --> 00:04:20,450 97 00:04:20,450 --> 00:04:23,390 >> Næsta meiriháttar gögn tegund er fljótandi tölur benda. 98 00:04:23,390 --> 00:04:26,100 Svo fleytitölur eru einnig þekktur sem rauntölur. 99 00:04:26,100 --> 00:04:28,850 Þeir eru í grundvallaratriðum tölur sem hafa Komma í þeim. 100 00:04:28,850 --> 00:04:33,360 Fleytitölugildi eins heiltölur eru einnig 101 00:04:33,360 --> 00:04:36,090 sem innan 4 bæti af minni. 102 00:04:36,090 --> 00:04:37,580 Nú er engin graf hér. 103 00:04:37,580 --> 00:04:40,890 Það er engin tala lína, því lýsa á bilinu flotholt 104 00:04:40,890 --> 00:04:44,550 er ekki nákvæmlega ljóst eða innsæi. 105 00:04:44,550 --> 00:04:47,350 >> Látum nægja að segja þér höfum 32 bita til að vinna með. 106 00:04:47,350 --> 00:04:49,730 Og ef þú ert að tala eins og PI, sem hefur 107 00:04:49,730 --> 00:04:55,510 heiltala hluti 3, og fljótandi lið að hluta eða aukastaf hluti 0,14159, 108 00:04:55,510 --> 00:04:58,735 og svo framvegis, þú þarft að vera fær að tákna allar it-- 109 00:04:58,735 --> 00:05:02,420 heiltölu hluti og aukastaf hluti. 110 00:05:02,420 --> 00:05:04,550 >> Svo hvað finnst þér að gæti þýtt? 111 00:05:04,550 --> 00:05:08,180 Eitt er að ef við aukastaf hluti fær lengur og lengur, 112 00:05:08,180 --> 00:05:10,660 ef ég hef mjög stór heiltala hluti, gæti ég ekki 113 00:05:10,660 --> 00:05:13,090 vera fær um að vera eins nákvæm með aukastaf hluta. 114 00:05:13,090 --> 00:05:15,280 Og það er í raun takmörkun að festa flotholt. 115 00:05:15,280 --> 00:05:17,229 >> Fljóta með nákvæmni vandamál. 116 00:05:17,229 --> 00:05:19,270 Við höfum aðeins 32 bita til vinna með, svo við getum aðeins 117 00:05:19,270 --> 00:05:22,510 vera svo nákvæm við aukastaf okkar hálfu. 118 00:05:22,510 --> 00:05:27,300 Við getum ekki endilega að hafa aukastaf hluti nákvæmar til 100 eða 200 tölustöfum, 119 00:05:27,300 --> 00:05:29,710 vegna þess að við höfum aðeins 32 bita til að vinna með. 120 00:05:29,710 --> 00:05:31,590 Svo er það takmörkun fljóta. 121 00:05:31,590 --> 00:05:33,590 >> Nú sem betur fer er það annars gögn tegund kölluð 122 00:05:33,590 --> 00:05:36,530 tvöfaldur, sem nokkuð fjallar þetta vandamál. 123 00:05:36,530 --> 00:05:39,980 Doubles, eins fljóta, eru einnig notuð til að geyma rauntölur eða fleytitölu 124 00:05:39,980 --> 00:05:40,840 gildi. 125 00:05:40,840 --> 00:05:44,340 Munurinn er sá að tvöfaldar eru tvöfaldur nákvæmni. 126 00:05:44,340 --> 00:05:48,177 Þeir geta passa 64 bita af gögn, eða átta bytes. 127 00:05:48,177 --> 00:05:49,010 Hvað þýðir það? 128 00:05:49,010 --> 00:05:51,801 Jæja, það þýðir að við getum verið miklu meira nákvæm við kommu. 129 00:05:51,801 --> 00:05:54,830 Í stað þess að þurfa pi til sjö stöðum kannski, með fljóta, 130 00:05:54,830 --> 00:05:56,710 við getum kannski hafa það að 30 stöðum. 131 00:05:56,710 --> 00:05:59,824 Ef það er mikilvægt, þú might vilja að nota dobl í stað þess að fljóta. 132 00:05:59,824 --> 00:06:01,740 Í grundvallaratriðum, ef þú ert vinna á neitt hvar 133 00:06:01,740 --> 00:06:06,540 hafa mjög lengi aukastaf stað og a einhver fjöldi af nákvæmni er mikilvæg, 134 00:06:06,540 --> 00:06:08,630 þú vilt sennilega að nota tvöfaldan overfloat. 135 00:06:08,630 --> 00:06:11,250 Nú fyrir mest af vinnu þinni í CS50, fljóta ætti að nægja. 136 00:06:11,250 --> 00:06:15,340 En veit að tvöfaldar til sem a leið til að nokkuð takast á við nákvæmni 137 00:06:15,340 --> 00:06:20,980 Vandamálið með því að gefa þér auka 32 bita að vinna með fyrir tölur þínar. 138 00:06:20,980 --> 00:06:23,650 >> Nú er þetta ekki gögn tegund. 139 00:06:23,650 --> 00:06:24,390 Þetta er tegund. 140 00:06:24,390 --> 00:06:25,340 Og það er kallað ógilt. 141 00:06:25,340 --> 00:06:27,506 Og ég er að tala um það hér vegna þess að við höfum sennilega 142 00:06:27,506 --> 00:06:29,520 séð það nokkrum sinnum nú þegar í CS50. 143 00:06:29,520 --> 00:06:32,020 Og þú gætir verið að spá hvað það er allur óður í. 144 00:06:32,020 --> 00:06:33,390 >> Svo ógilt er gerð. 145 00:06:33,390 --> 00:06:34,097 Það er til staðar. 146 00:06:34,097 --> 00:06:35,180 En það er ekki gögn tegund. 147 00:06:35,180 --> 00:06:39,350 >> Við getum ekki búið til breytu af tegund ógilt og úthluta gildi til þess. 148 00:06:39,350 --> 00:06:42,519 En aðgerðir, til dæmis, Hægt er að hafa ógilt aftur gerð. 149 00:06:42,519 --> 00:06:45,060 Í grundvallaratriðum, ef þú sérð aðgerð sem hefur ógilt aftur gerð, 150 00:06:45,060 --> 00:06:46,970 það þýðir að það er ekki að skila gildi. 151 00:06:46,970 --> 00:06:49,440 Getur þú hugsa um sameiginlegt fall sem við höfum notað hingað til 152 00:06:49,440 --> 00:06:52,780 í CS50 sem ekki skila gildi? 153 00:06:52,780 --> 00:06:54,700 >> Printf er einn. 154 00:06:54,700 --> 00:06:56,820 Printf er í raun ekki aftur eitthvað fyrir þig. 155 00:06:56,820 --> 00:06:59,850 Það prentar eitthvað til skjár, og það er í rauninni 156 00:06:59,850 --> 00:07:01,650 aukaverkun af því printf gerir. 157 00:07:01,650 --> 00:07:03,620 En það þýðir ekki að gefa þér gildi aftur. 158 00:07:03,620 --> 00:07:08,419 Þú handtaka ekki niðurstöðu og geyma það í sumum breytu til að nota það síðar. 159 00:07:08,419 --> 00:07:10,710 Það prentar bara eitthvað við skjár og þú ert búinn. 160 00:07:10,710 --> 00:07:14,360 >> Svo við segjum að printf er ógilt virka. 161 00:07:14,360 --> 00:07:16,450 Það skilar engu. 162 00:07:16,450 --> 00:07:18,580 >> Ummál listi af a aðgerð getur einnig verið ógilt. 163 00:07:18,580 --> 00:07:21,410 Og þú hefur einnig séð að töluvert í CS50 líka. 164 00:07:21,410 --> 00:07:22,300 Int main ógilt. 165 00:07:22,300 --> 00:07:23,260 Er að hringja bjöllu? 166 00:07:23,260 --> 00:07:24,080 167 00:07:24,080 --> 00:07:27,220 Í grundvallaratriðum hvað það þýðir að Helstu taki ekki breytur. 168 00:07:27,220 --> 00:07:29,520 Það er engin rök að fá liðið í main. 169 00:07:29,520 --> 00:07:32,780 Nú síðar munum við sjá að það er leið til að fara framhjá rök í main, 170 00:07:32,780 --> 00:07:36,189 en svo langt sem við höfum séð er int helstu ógilt. 171 00:07:36,189 --> 00:07:37,730 Main bara ekki taka nein rök. 172 00:07:37,730 --> 00:07:40,236 Og svo við að tilgreina að með því að segja ógilt. 173 00:07:40,236 --> 00:07:42,110 Við erum bara að vera mjög skýr um þá staðreynd 174 00:07:42,110 --> 00:07:44,430 að það tekur ekki nein rök. 175 00:07:44,430 --> 00:07:47,160 >> Svo nú, nægja að segja það tóm grundvallaratriðum 176 00:07:47,160 --> 00:07:50,789 ætti bara að þjóna sem tákn fyrir þig sem hugsa um sem ekkert. 177 00:07:50,789 --> 00:07:52,080 Það er í raun ekki að gera neitt. 178 00:07:52,080 --> 00:07:53,550 Það er ekki aftur snúið gildi hér. 179 00:07:53,550 --> 00:07:54,770 Það er engin breytur hér. 180 00:07:54,770 --> 00:07:55,709 Það er ógilt. 181 00:07:55,709 --> 00:07:57,250 Það er svolítið flóknara en það. 182 00:07:57,250 --> 00:08:00,640 En þetta ætti að nægja fyrir betra hluti af námskeiðinu. 183 00:08:00,640 --> 00:08:05,010 Og vonandi nú þú hafa a lítill aðeins meira um hugmyndina um hvað ógilt er. 184 00:08:05,010 --> 00:08:08,460 >> Svo þeir eru fimm tegundir sem þú munt fundur sem eru innbyggð í að C. 185 00:08:08,460 --> 00:08:10,670 En í CS50 við höfum einnig bókasafn. 186 00:08:10,670 --> 00:08:13,550 CS50.h, sem þú getur falið. 187 00:08:13,550 --> 00:08:15,930 Og sem mun veita þér með tvær viðbótar tegundir 188 00:08:15,930 --> 00:08:18,280 að þú munt sennilega vera fær að nota á verkefnum þínum, 189 00:08:18,280 --> 00:08:21,210 eða bara að vinna almennt forritun. 190 00:08:21,210 --> 00:08:23,030 >> The fyrstur af þessir er bool. 191 00:08:23,030 --> 00:08:26,780 Svo Boolean gögn tegund, bool, er notað fyrir breytur 192 00:08:26,780 --> 00:08:28,114 sem mun geyma Boolean gildi. 193 00:08:28,114 --> 00:08:29,863 Ef þú hefur einhvern tíma heyrt Hugtakið áður, þér 194 00:08:29,863 --> 00:08:31,960 gætir vita að á Boolean gildi er fær um að aðeins 195 00:08:31,960 --> 00:08:34,440 halda tvær mismunandi mismunandi gildi. 196 00:08:34,440 --> 00:08:35,872 Satt og ósatt. 197 00:08:35,872 --> 00:08:37,580 Nú virðist þetta nokkuð grundvallaratriði, ekki satt? 198 00:08:37,580 --> 00:08:40,496 Það er góður af a óvart að þetta er ekki til í C eins og það er innbyggt í. 199 00:08:40,496 --> 00:08:42,640 Og í mörgum nútíma tungumálum, auðvitað, Booleans 200 00:08:42,640 --> 00:08:45,390 eru staðalbúnaður sjálfgefið gögn tegund. 201 00:08:45,390 --> 00:08:47,192 En í C, þeir eru í raun ekki. 202 00:08:47,192 --> 00:08:48,400 En við höfum búið hana fyrir þig. 203 00:08:48,400 --> 00:08:51,910 Svo ef þú þarft alltaf að búa til breytu sem gerð er bool, 204 00:08:51,910 --> 00:08:55,230 bara vera viss um að #include CS50.h í upphafi program, 205 00:08:55,230 --> 00:08:57,800 og þú munt vera fær til að búa til Breytur bool gerð. 206 00:08:57,800 --> 00:09:02,095 >> Ef þú gleymir að #include CS50.h og þú byrjar að nota Boolean gerð breytur, 207 00:09:02,095 --> 00:09:04,970 þú gætir lendir í einhverjum vandræðum þegar þú ert að setja saman program. 208 00:09:04,970 --> 00:09:06,490 Svo bara að vera á the útlit fyrir það. 209 00:09:06,490 --> 00:09:11,180 Og kannski þú getur bara festa vandamál með pund á meðal cs50.h. 210 00:09:11,180 --> 00:09:14,590 >> Önnur helstu gögn tegund sem við veita þér í CS50 bókasafn 211 00:09:14,590 --> 00:09:15,670 er band. 212 00:09:15,670 --> 00:09:17,130 Svo er það band? 213 00:09:17,130 --> 00:09:18,520 Strengir eru í raun bara orð. 214 00:09:18,520 --> 00:09:20,000 Þeir eru söfn af stöfum. 215 00:09:20,000 --> 00:09:20,640 Þeir eru orð. 216 00:09:20,640 --> 00:09:21,390 Þeir eru setningar. 217 00:09:21,390 --> 00:09:22,480 Þeir eru málsgreinar. 218 00:09:22,480 --> 00:09:25,850 Gæti verið heilar bækur, jafnvel. 219 00:09:25,850 --> 00:09:29,690 >> Mjög stutt til mjög lengi röð af stöfum. 220 00:09:29,690 --> 00:09:34,310 Ef þú þarft að nota strengi, til dæmis, til að geyma orð, 221 00:09:34,310 --> 00:09:37,609 bara vera viss um að fela CS50.h í upphafi program 222 00:09:37,609 --> 00:09:38,900 svo þú getur notað band tegund. 223 00:09:38,900 --> 00:09:43,910 Og þá er hægt að búa til breytur sem gögn tegund er band. 224 00:09:43,910 --> 00:09:46,160 Nú síðar í námskeiðinu, við munum einnig sjá að það er 225 00:09:46,160 --> 00:09:47,752 ekki öll sagan heldur. 226 00:09:47,752 --> 00:09:49,460 Við munum lenda í hlutina kallast mannvirki, 227 00:09:49,460 --> 00:09:54,249 sem gera þér kleift að það getur verið heiltala og band í einni einingu. 228 00:09:54,249 --> 00:09:56,290 Og við getum notað það fyrir sumir tilgangur, sem gæti 229 00:09:56,290 --> 00:09:57,750 koma sér vel síðar í námskeiðinu. 230 00:09:57,750 --> 00:09:59,500 >> Og við munum einnig læra um skilgreindar tegundir, 231 00:09:59,500 --> 00:10:01,720 sem leyfa þér að búa til eigin gögn gerðum. 232 00:10:01,720 --> 00:10:03,060 Við þurfum ekki að hafa áhyggjur um það í bili. 233 00:10:03,060 --> 00:10:04,550 En bara veit að það er eitthvað á sjóndeildarhringnum, 234 00:10:04,550 --> 00:10:07,633 að það er mikið meira til að þetta allt tegund hlutur en ég ætla að segja þér bara 235 00:10:07,633 --> 00:10:08,133 núna. 236 00:10:08,133 --> 00:10:10,591 Svo nú er að við höfum lært svolítið um helstu gögn 237 00:10:10,591 --> 00:10:14,230 tegundir og CS50 gagnatög, við skulum tala um hvernig á að vinna með breytur 238 00:10:14,230 --> 00:10:18,530 og búa þá að nota þetta gagnatög í áætlunum okkar. 239 00:10:18,530 --> 00:10:22,670 Ef þú vilt að búa til breytu, allt sem þú þarft að gera er tvennt. 240 00:10:22,670 --> 00:10:24,147 >> Fyrst, þú þarft að gefa það a tegund. 241 00:10:24,147 --> 00:10:26,230 Annað sem þú þarft að gera er að gefa honum nafn. 242 00:10:26,230 --> 00:10:28,740 Þegar þú hefur gert það og löðrungur a semíkomma í lok þess línu, 243 00:10:28,740 --> 00:10:29,830 þú hefur búið til breytu. 244 00:10:29,830 --> 00:10:32,370 >> Svo hér er tvö dæmi. 245 00:10:32,370 --> 00:10:35,744 Int númer; bleikju bréf ;. 246 00:10:35,744 --> 00:10:36,660 Hvað hef ég gert hér? 247 00:10:36,660 --> 00:10:38,110 Ég hef búið til tvær breytur. 248 00:10:38,110 --> 00:10:40,190 >> Sú fyrsta, breytan er Nafnið er númer. 249 00:10:40,190 --> 00:10:44,830 Og fjöldi er fær um að halda heiltala tegund gildi, vegna þess að gerð þess er INT. 250 00:10:44,830 --> 00:10:48,040 Bréf er annar breyta sem getur haldið stafi 251 00:10:48,040 --> 00:10:50,240 vegna þess að gögn gerð hennar er bleikju. 252 00:10:50,240 --> 00:10:51,772 >> Mjög einfalt, ekki satt? 253 00:10:51,772 --> 00:10:53,480 Ef þú finna sjálfur í aðstæðum þar 254 00:10:53,480 --> 00:10:56,250 þú þarft að búa til margar breytur af sömu gerð, 255 00:10:56,250 --> 00:10:58,740 þú þarft aðeins að tilgreina gerð nafn einu sinni. 256 00:10:58,740 --> 00:11:01,600 Þá bara að telja upp eins margar breytur af þeirri tegund sem þú þarft. 257 00:11:01,600 --> 00:11:04,230 >> Svo ég gat til dæmis, hér í þessari þriðju línu af kóða, 258 00:11:04,230 --> 00:11:07,420 segir INT hæð ;, nýja línu. 259 00:11:07,420 --> 00:11:08,291 Int breidd ;. 260 00:11:08,291 --> 00:11:09,290 Og sem myndi vinna líka. 261 00:11:09,290 --> 00:11:12,039 Ég myndi samt fá tvær breytur sem heitir hæð og breidd, sem hver um sig 262 00:11:12,039 --> 00:11:12,730 er heiltala. 263 00:11:12,730 --> 00:11:16,970 En ég er leyft að, hlutir að C setningafræði, styrkja það í einni línu. 264 00:11:16,970 --> 00:11:20,230 Int hæð, breidd; Það er það sama. 265 00:11:20,230 --> 00:11:23,900 Ég hef búið til tvær breytur, er einn hét Hæð einn hét breidd, bæði sem 266 00:11:23,900 --> 00:11:26,730 eru fær um að halda heiltala tegund gildi. 267 00:11:26,730 --> 00:11:30,920 >> Á sama hátt hér, get ég búið til þrjú fleytitölum í einu. 268 00:11:30,920 --> 00:11:33,350 Ég get kannski búa til breytu kallað kvaðratrót 2-- 269 00:11:33,350 --> 00:11:35,766 sem væntanlega mun að lokum halda fljótandi point-- 270 00:11:35,766 --> 00:11:39,222 að framsetning af the Square rót 2-- kvaðratrót af 3, og pi. 271 00:11:39,222 --> 00:11:41,180 Ég hefði getað gert þetta á þremur aðskildum línum. 272 00:11:41,180 --> 00:11:47,690 Fljóta, kvaðratrót 2; Fljóta kvaðratrót 3; fljóta pi; og sem myndi vinna líka. 273 00:11:47,690 --> 00:11:50,590 >> En aftur, ég get bara treysta þetta í einni línu af kóða. 274 00:11:50,590 --> 00:11:54,050 Gerir hlutina svolítið styttri, ekki eins clunky. 275 00:11:54,050 --> 00:11:57,259 >> Nú almennt, það er góð hönnun að aðeins lýsa breytu þegar þú þarft hana. 276 00:11:57,259 --> 00:11:59,050 Og við munum tala svolítið aðeins meira um það 277 00:11:59,050 --> 00:12:00,945 síðar í námskeiðinu þegar við ræðum umfang. 278 00:12:00,945 --> 00:12:03,320 Svo þarf ekki endilega að búa allar breytur þínar 279 00:12:03,320 --> 00:12:05,990 í upphafi áætlunarinnar, sem sumir gætu hafa gert í fortíðinni, 280 00:12:05,990 --> 00:12:08,700 eða var vissulega mjög algengt erfðaskrá æfa fyrir mörgum árum 281 00:12:08,700 --> 00:12:11,700 þegar unnið er með C Þú gætir bara langar að búa til breytu rétt þegar 282 00:12:11,700 --> 00:12:13,140 þú þarft hana. 283 00:12:13,140 --> 00:12:13,640 Allt í lagi. 284 00:12:13,640 --> 00:12:15,150 Þannig að við höfum búið breytur. 285 00:12:15,150 --> 00:12:16,790 Hvernig eigum við að nota þá? 286 00:12:16,790 --> 00:12:18,650 Eftir að við lýsa yfir breyta, við þurfum ekki 287 00:12:18,650 --> 00:12:21,237 að tilgreina gögn tegund af breytunni lengur. 288 00:12:21,237 --> 00:12:24,070 Í staðreynd, ef þú gerir það, þú gætir endað með einhverju skrýtnu afleiðingum 289 00:12:24,070 --> 00:12:25,490 sem við munum konar gljái yfir nú. 290 00:12:25,490 --> 00:12:27,365 En nægja að segja, undarlegir atburðir eru að fara 291 00:12:27,365 --> 00:12:30,740 að byrja að gerast ef þú óvart aftur lýsa breytur með sama nafni 292 00:12:30,740 --> 00:12:32,210 aftur og aftur. 293 00:12:32,210 --> 00:12:33,882 >> Svo hér er ég með fjórar línur af kóða. 294 00:12:33,882 --> 00:12:36,090 Og ég er með par af athugasemdir þar bara til kynna 295 00:12:36,090 --> 00:12:37,840 hvað er að gerast á hver lína bara til að hjálpa 296 00:12:37,840 --> 00:12:40,520 þú færð í hvað er að gerast. 297 00:12:40,520 --> 00:12:41,520 Svo INT númer ;. 298 00:12:41,520 --> 00:12:42,520 Þú sást að áður. 299 00:12:42,520 --> 00:12:44,000 Það er breytilegt yfirlýsing. 300 00:12:44,000 --> 00:12:46,670 >> Ég hef nú búið til breytu kallað tala sem er 301 00:12:46,670 --> 00:12:48,970 fær um að halda heiltala gerð gildi. 302 00:12:48,970 --> 00:12:50,210 Ég hef lýst því. 303 00:12:50,210 --> 00:12:53,770 >> Næsta lína ég framselja gildi til fjölda. 304 00:12:53,770 --> 00:12:54,992 Fjöldi jafngildir 17. 305 00:12:54,992 --> 00:12:55,950 Hvað er að gerast þarna? 306 00:12:55,950 --> 00:12:58,880 Ég er að setja á númer 17 inni breytunni. 307 00:12:58,880 --> 00:13:02,760 >> Þannig að ef ég alltaf þá prenta út hvað innihald númer eru síðar, 308 00:13:02,760 --> 00:13:04,030 þeir segja mér að það er 17. 309 00:13:04,030 --> 00:13:07,030 Svo ég hef lýst breytu, og þá hef ég falið það. 310 00:13:07,030 --> 00:13:10,570 >> Við getum endurtaka ferlið aftur með bleikju bréfi ;. 311 00:13:10,570 --> 00:13:11,640 Það er yfirlýsing. 312 00:13:11,640 --> 00:13:14,010 Letter jafngildir fjármagn H. Það er framsal. 313 00:13:14,010 --> 00:13:16,030 Nokkuð augljóst, líka. 314 00:13:16,030 --> 00:13:18,319 >> Nú gæti þetta ferli virðast konar kjánalegt. 315 00:13:18,319 --> 00:13:20,110 Hvers vegna erum við að gera þetta í tveimur línum af kóða? 316 00:13:20,110 --> 00:13:21,401 Er til betri leið til að gera það? 317 00:13:21,401 --> 00:13:22,250 Í staðreynd, there er. 318 00:13:22,250 --> 00:13:24,375 Stundum þú gætir séð þetta heitir frumstilling. 319 00:13:24,375 --> 00:13:28,446 Það er þegar þú lýsa breytu og að úthluta gildi á sama tíma. 320 00:13:28,446 --> 00:13:30,320 Þetta er í raun nokkuð sameiginlegur hlutur til gera. 321 00:13:30,320 --> 00:13:32,870 Þegar þú býrð til breytu, þú venjulega vilja það að hafa sumir undirstöðu gildi. 322 00:13:32,870 --> 00:13:34,330 Jafnvel ef það er 0 eða eitthvað. 323 00:13:34,330 --> 00:13:36,180 Þú bara þú gefa það a gildi. 324 00:13:36,180 --> 00:13:38,360 >> Þú getur frumstilla breytu. 325 00:13:38,360 --> 00:13:42,320 Int númer jafngildir 17 er það sama og fyrstu tvær línur af kóða upp hér að ofan. 326 00:13:42,320 --> 00:13:46,829 Char bréf jafngildir h er það sama og Þriðja og fjórða línur af kóða fyrir ofan. 327 00:13:46,829 --> 00:13:49,620 Mikilvægasta takeaway hér þegar við erum að lýsa og framselja 328 00:13:49,620 --> 00:13:51,740 breytur er eftir að við höfum lýsti það, tilkynning 329 00:13:51,740 --> 00:13:53,700 Ég er ekki að nota gögn tegund aftur. 330 00:13:53,700 --> 00:13:57,916 Ég er ekki að segja INT tala jafngildir 17 á í annarri línu af kóða, til dæmis. 331 00:13:57,916 --> 00:13:59,290 Ég ætla bara að segja tala jafngildir 17. 332 00:13:59,290 --> 00:14:02,537 >> Aftur, aftur lýsa breytu eftir þú hefur nú þegar lýst yfir að það getur leitt 333 00:14:02,537 --> 00:14:03,620 að einhverju skrýtnu afleiðing. 334 00:14:03,620 --> 00:14:05,950 Svo bara vera varkár um það. 335 00:14:05,950 --> 00:14:06,660 >> Ég er Doug Lloyd. 336 00:14:06,660 --> 00:14:08,870 Og þetta er CS50. 337 00:14:08,870 --> 00:14:10,499