1 00:00:00,000 --> 00:00:00,520 2 00:00:00,520 --> 00:00:03,530 >> GARSIAKALBIS: Leiskite parašyti programą, kuri paragina dvi eilutes ir vartotoją 3 00:00:03,530 --> 00:00:07,170 tada ataskaitos ar tos stygos yra tas pats, ar ne tas pats. 4 00:00:07,170 --> 00:00:10,290 Aš jau pradėjau mums ne čia skambina printf du kartus ir skambina 5 00:00:10,290 --> 00:00:14,520 GetString du kartus, saugoti grąžą vertybės s ir t, atitinkamai. 6 00:00:14,520 --> 00:00:17,960 >> Dabar, mano instinktai palyginti šias dvi stygos būtų naudoti susipažinę 7 00:00:17,960 --> 00:00:19,160 lygybės operatorius - 8 00:00:19,160 --> 00:00:22,070 jei ai Lygu lygu k. 9 00:00:22,070 --> 00:00:28,120 Tada aš ruošiuosi eiti į priekį ir spausdinti iš "Jūs įvedėte tą patį! 10 00:00:28,120 --> 00:00:35,190 Kitur, jei tai ne tiesa, aš tiesiog ketina įvesti printf ("Jūs įvedėte 11 00:00:35,190 --> 00:00:37,880 skirtingi dalykai! 12 00:00:37,880 --> 00:00:38,850 >> Gana paprasta - 13 00:00:38,850 --> 00:00:41,820 Aš paprasčiausiai palyginant s prieš t, ir jei jie vienodi, 14 00:00:41,820 --> 00:00:43,250 spausdinti kiek. 15 00:00:43,250 --> 00:00:45,450 Leiskite sudaryti ir vykdyti šią programą. 16 00:00:45,450 --> 00:00:51,950 Padaryti palyginti 0. / Palyginti 0, ką nors pasakyti, labas, 17 00:00:51,950 --> 00:00:54,200 pasakyti, labas. 18 00:00:54,200 --> 00:00:56,870 >> Deja, programa mano aš įvedėte skirtingus dalykus, nors aš 19 00:00:56,870 --> 00:00:59,530 aiškiai įvedėte "labas" taip pat, abu kartus. 20 00:00:59,530 --> 00:01:00,850 Dabar, kodėl tai galėtų būti? 21 00:01:00,850 --> 00:01:03,750 >> Na, atrodo, kad visa tai laikas, siūlai buvo šiek tiek daugiau 22 00:01:03,750 --> 00:01:06,780 sudėtingesnis nei simbolių seka po gaubtu. 23 00:01:06,780 --> 00:01:11,450 Iš tikrųjų, eilutė yra žymeklis arba adresas, konkrečiai adresas 24 00:01:11,450 --> 00:01:14,640 pirmojo požymio, kad seka simbolių. 25 00:01:14,640 --> 00:01:18,640 >> Ir todėl, kai mes lyginame s prieš t su vienodo lygybės ženklą, mes 26 00:01:18,640 --> 00:01:23,200 iš tikrųjų klausia, ar šis adresas lygūs lygūs šiuo adresu? 27 00:01:23,200 --> 00:01:26,850 Ir tai nebus atveju, jei vartotojas turi įvesti dviejų skirtingų 28 00:01:26,850 --> 00:01:30,370 styginiams ir mes vadinami GetString du kartus juos gauti, nes atmintis 29 00:01:30,370 --> 00:01:34,480 kad GetString naudoja laikyti pirmas Styga gali būti čia RAM, bet 30 00:01:34,480 --> 00:01:37,120 atmintis, GetString naudoja laikyti antra eilutė vyksta 31 00:01:37,120 --> 00:01:38,760 būti čia RAM. 32 00:01:38,760 --> 00:01:42,380 Ir, žinoma, po to, šie du gabaliukus atmintis turi skirtingus adresus 33 00:01:42,380 --> 00:01:44,220 jų pirmųjų simbolių. 34 00:01:44,220 --> 00:01:46,120 >> Taigi yra s lygios lygios t? 35 00:01:46,120 --> 00:01:46,885 Na, ne. 36 00:01:46,885 --> 00:01:50,510 Jei s ir t yra nukreipta į skirtingas gabaliukus atminties, nes jie būtų per 37 00:01:50,510 --> 00:01:54,140 skambina GetString du kartus, jie ne, iš tiesų, bus tas pats. 38 00:01:54,140 --> 00:01:57,700 Taigi atrodo, kad atvejis, kad į palyginti dvi eilutes intuityvus 39 00:01:57,700 --> 00:02:01,050 Taip, kad mes tikimės, personažas pobūdžio, mes turime kitą techniką 40 00:02:01,050 --> 00:02:02,300 apskritai. 41 00:02:02,300 --> 00:02:03,902