1 00:00:00,000 --> 00:00:00,440 2 00:00:00,440 --> 00:00:00,860 >> Spreker 1: Alle reg. 3 00:00:00,860 --> 00:00:03,260 Dat dit die laaste program was 'n bietjie vervelig. 4 00:00:03,260 --> 00:00:05,510 Kom ons gaan voort en verpersoonlik dit 'n bietjie. 5 00:00:05,510 --> 00:00:07,710 Eerder as om hallo wêreld om te sê, Hoekom het ons nie gaan voort 6 00:00:07,710 --> 00:00:09,680 en sê hallo Dawid? 7 00:00:09,680 --> 00:00:12,500 Wel, om dit te doen, kan ek nader dit in 'n paar van die maniere. 8 00:00:12,500 --> 00:00:15,760 Ek kan natuurlik nie, net hard-kode David, maar dit is nie al wat 9 00:00:15,760 --> 00:00:17,650 fundamenteel verskillende uit die laaste weergawe. 10 00:00:17,650 --> 00:00:21,430 So kom ons neem 'n sprong vorentoe, ongedaan te maak wat verander, en in plaas daarvan sit 'n nuwe 11 00:00:21,430 --> 00:00:23,980 reël van die kode waar lyn vyf keer was. 12 00:00:23,980 --> 00:00:28,970 >> Spesifiek, wat ek gaan om hier te doen is voeg string naam, en daardeur 13 00:00:28,970 --> 00:00:30,920 waarby 'n veranderlike. 14 00:00:30,920 --> 00:00:34,240 Let daarop dat in C, nie net het jy 'n veranderlike te gee 'n naam, wat in 15 00:00:34,240 --> 00:00:38,110 hierdie geval is die naam, jy het ook ' spesifiseer watter tipe dit is. 16 00:00:38,110 --> 00:00:41,970 Ons sal ander vorme sien voor lank onder hulle heelgetalle en swaai punt 17 00:00:41,970 --> 00:00:46,480 waardes en meer, maar vir nou, string is net 'n woord of 'n frase, meer 18 00:00:46,480 --> 00:00:49,340 formeel, 'n reeks van nul of meer karakters. 19 00:00:49,340 --> 00:00:53,760 So op die oomblik, hierdie lyn is vyf gesê: Gee my 'n veranderlike genaamd naam 20 00:00:53,760 --> 00:00:56,560 wie se data tipe is string. 21 00:00:56,560 --> 00:01:00,460 >> Nou, ek wil 'n waarde daar op te slaan, en om dit te doen in C, gebruik ons ​​die gelyke 22 00:01:00,460 --> 00:01:03,030 teken, andersins bekend as die opdrag operateur. 23 00:01:03,030 --> 00:01:04,860 So ek gaan as volg te werk gaan. 24 00:01:04,860 --> 00:01:10,220 Gelyk aan quote, unquote, D-'n-V-ek-D, geslote kwotasie, kommapunt. 25 00:01:10,220 --> 00:01:15,595 Die netto-effek in lyn vyf is nou te verklaar 'n string, D-'n-V-ek-D, stoor 26 00:01:15,595 --> 00:01:19,480 dit van die regterkant van hierdie uitdrukking in die veranderlike op die 27 00:01:19,480 --> 00:01:21,480 linkerkant van hierdie uitdrukking. 28 00:01:21,480 --> 00:01:25,970 So teen die einde van hierdie lyn, ons het D-'n-V-ek-D gestoor binnekant van 'n veranderlike 29 00:01:25,970 --> 00:01:27,450 genoem naam. 30 00:01:27,450 --> 00:01:28,910 >> Nou kom ons gebruik om hierdie veranderlike. 31 00:01:28,910 --> 00:01:35,010 On line ses, ek gaan om te vervang wêreld met 'n plekhouer. 32 00:01:35,010 --> 00:01:39,960 % S word gedefinieer volgens die dokumentasie vir printf as 'n 33 00:01:39,960 --> 00:01:41,690 plekhouer vir 'n string. 34 00:01:41,690 --> 00:01:44,620 Met ander woorde, dit is 'n manier van inligting printf dat ek gaan sit 35 00:01:44,620 --> 00:01:47,930 'n ander waarde hier nie, maar laat my vertel in 'n oomblik wat 36 00:01:47,930 --> 00:01:49,180 dit gaan wees. 37 00:01:49,180 --> 00:01:52,800 Nou, hoe kan ek voortgaan printf te vertel wat daardie waarde gaan wees? 38 00:01:52,800 --> 00:01:56,850 >> Wel, ek moet printf te voorsien met 'n tweede argument, en om dit te doen, het ek 39 00:01:56,850 --> 00:02:00,460 'n komma te sit na die eerste sodanige argument, wat hierdie aangehaal 40 00:02:00,460 --> 00:02:04,990 string, en dan het ek nodig om te spesifiseer wat waarde wat ek wil aan te sluit in dat 41 00:02:04,990 --> 00:02:07,010 eerste argument se plekhouer. 42 00:02:07,010 --> 00:02:10,880 So het die naam van my veranderlike is, van Natuurlik, naam, so is dit voldoende om te tik 43 00:02:10,880 --> 00:02:14,000 "Naam" as die tweede argument te printf. 44 00:02:14,000 --> 00:02:15,070 Nou nie mislei word nie. 45 00:02:15,070 --> 00:02:20,440 Selfs al is daar 'n komma binnekant van die aangehaal string, dit is inderdaad 46 00:02:20,440 --> 00:02:24,370 binnekant van die string sodat dit nie skei een argument van die ander. 47 00:02:24,370 --> 00:02:28,740 Slegs hierdie komma wat buite daardie aangehaal string eintlik skei 48 00:02:28,740 --> 00:02:31,700 printf se eerste argument van sy tweede argument. 49 00:02:31,700 --> 00:02:34,270 >> Kom ons nou hierdie program saam te stel. 50 00:02:34,270 --> 00:02:36,500 Maak hallo een. 51 00:02:36,500 --> 00:02:39,570 Ag, my goedheid, vyf foute gegenereer, en my program se 52 00:02:39,570 --> 00:02:41,100 slegs sewe lyne lank. 53 00:02:41,100 --> 00:02:44,720 Wel, soos altyd, kyk nie na die laaste van die foute op die skerm. 54 00:02:44,720 --> 00:02:47,960 Kyk na die heel eerste omdat dalk daar is 'n waterval effek waardeur 55 00:02:47,960 --> 00:02:51,600 net een fout op die top geskep om die voorkoms van meer foute as wat daar 56 00:02:51,600 --> 00:02:52,570 eintlik is. 57 00:02:52,570 --> 00:02:56,620 >> So laat my blaai up, en die eerste sodanige boldfaced fout hier is die gebruik van 58 00:02:56,620 --> 00:02:59,140 swart identifikasie string. 59 00:02:59,140 --> 00:03:00,630 Het jy bedoel standaard in? 60 00:03:00,630 --> 00:03:01,990 Wel nee, ek het nie. 61 00:03:01,990 --> 00:03:06,700 Ek het beteken string, maar dit blyk ek vergeet dat string nie as 'n bestaan 62 00:03:06,700 --> 00:03:10,830 data tik tegnies in C. Konseptueel dit bestaan, maar die woord 63 00:03:10,830 --> 00:03:16,210 "String" bestaan ​​net omdat die CS50 personeel te kenne gegee nie, so te sê, 64 00:03:16,210 --> 00:03:18,160 in 'n lêer wat ons vir onsself geskryf het. 65 00:03:18,160 --> 00:03:22,540 In werklikheid, net soos iemand wat lank gelede verklaar die printf funksie in 'n lêer 66 00:03:22,540 --> 00:03:28,310 genoem Standard IO.H het, so het ons die personeel verklaar string as 'n data tipe in 67 00:03:28,310 --> 00:03:32,470 'n lêer wat, geen verrassing nie, is CS50.H. genoem 68 00:03:32,470 --> 00:03:36,340 >> So laat ons gaan terug na die top van my program en stel die samesteller dat 69 00:03:36,340 --> 00:03:40,130 nie net wil ek die simbool te gebruik string, ek wil ook op te voed die 70 00:03:40,130 --> 00:03:42,160 samesteller van wat daardie simbool beteken. 71 00:03:42,160 --> 00:03:47,010 En om dit te eenvoudig te doen, kan ek gaan terug een te reël, voeg 'n nuwe lyn 72 00:03:47,010 --> 00:03:54,070 hier, en voeg, "sluit CS50.H," ook tussen skuins hakies. 73 00:03:54,070 --> 00:03:58,170 Hierdie instruksie, baie soos wat nou on line twee, gaan in te lig van die 74 00:03:58,170 --> 00:04:02,460 samesteller dat dit sluit in die inhoud van CS50.H waar hulle is 75 00:04:02,460 --> 00:04:06,620 in my hardeskyf binnekant van my program, sodoende die opvoeding van die samesteller te 76 00:04:06,620 --> 00:04:09,050 wat bedoel word met tou. 77 00:04:09,050 --> 00:04:13,420 >> Kom ons heropstel my program nadat die wysigings. 78 00:04:13,420 --> 00:04:15,500 Maak hallo een. 79 00:04:15,500 --> 00:04:16,440 Betree. 80 00:04:16,440 --> 00:04:17,730 Veel beter nie. 81 00:04:17,730 --> 00:04:23,760 Nou het ek 'n flikkerende vinnige waar ek kan tik, ". / hallo een," en voila. 82 00:04:23,760 --> 00:04:25,010 Hallo Dawid. 83 00:04:25,010 --> 00:04:26,402