1
00:00:00,000 --> 00:00:00,520

2
00:00:00,520 --> 00:00:03,530
>> SPEAKER: Napišimo program, ki
pozove uporabnika, po dveh nizih in

3
00:00:03,530 --> 00:00:07,170
Nato poroča, ali so ti nizi
sta enaka ali ni enaka.

4
00:00:07,170 --> 00:00:10,290
Sem nas je že začelo tukaj
dvakrat kliče printf in kliče

5
00:00:10,290 --> 00:00:14,520
GetString dvakrat, shranjevanje vrnitev
Vrednosti v s in t, v tem zaporedju.

6
00:00:14,520 --> 00:00:17,960
>> Zdaj, moj instinkt za primerjavo teh dveh
strune bi bila uporaba poznajo

7
00:00:17,960 --> 00:00:19,160
operator enakosti -

8
00:00:19,160 --> 00:00:22,070
če je enaka enaka t.

9
00:00:22,070 --> 00:00:28,120
Potem sem šel naprej in print
out "Vnesli ste isto stvar!

10
00:00:28,120 --> 00:00:35,190
Drugje, če to ni res, jaz sem samo
dogaja, da tip printf ("Vnesli

11
00:00:35,190 --> 00:00:37,880
različni stvari!

12
00:00:37,880 --> 00:00:38,850
>> Precej enostavno -

13
00:00:38,850 --> 00:00:41,820
Jaz sem samo s primerjavo s proti
t, in če oni enaki,

14
00:00:41,820 --> 00:00:43,250
tiskanje toliko.

15
00:00:43,250 --> 00:00:45,450
Oglejmo pripravijo in vodijo ta program.

16
00:00:45,450 --> 00:00:51,950
Naredite primerjati 0 /. Primerjati
0, nekaj reči, zdravo,

17
00:00:51,950 --> 00:00:54,200
nekaj reči, zdravo.

18
00:00:54,200 --> 00:00:56,870
>> Na žalost program, misli sem
vnesli različne stvari, čeprav sem

19
00:00:56,870 --> 00:00:59,530
jasno tipkal "zdravo"
enak način, obakrat.

20
00:00:59,530 --> 00:01:00,850
Zdaj, zakaj bi to bilo?

21
00:01:00,850 --> 00:01:03,750
>> No, izkazalo se je, da je vse to
Tokrat so strune že malo bolj

22
00:01:03,750 --> 00:01:06,780
zapleteno kot zaporedje znakov
Pod pokrovom.

23
00:01:06,780 --> 00:01:11,450
V resnici niz je kazalec ali
naslov, zlasti naslov

24
00:01:11,450 --> 00:01:14,640
prvega znaka v tem, da
zaporedje znakov.

25
00:01:14,640 --> 00:01:18,640
>> In tako, ko smo primerjali s proti t
z enakim enačajem, smo

26
00:01:18,640 --> 00:01:23,200
dejansko sprašuje, ali je to naslov
enako enako na ta naslov?

27
00:01:23,200 --> 00:01:26,850
In to se ne bo zgodilo, če
Uporabnik je tipkal v dveh različnih

28
00:01:26,850 --> 00:01:30,370
godala in smo poklical GetString dvakrat
jih dobili, ker pomnilnik

29
00:01:30,370 --> 00:01:34,480
da GetString uporablja za shranjevanje prvi
Niz je lahko tukaj v RAM, vendar

30
00:01:34,480 --> 00:01:37,120
pomnilnika, ki GetString uporablja za shranjevanje
Drugi niz se dogaja

31
00:01:37,120 --> 00:01:38,760
biti tukaj v RAM.

32
00:01:38,760 --> 00:01:42,380
In seveda, potem ti kosi
Pomnilnik imajo različne naslove

33
00:01:42,380 --> 00:01:44,220
njihovi Prve znake.

34
00:01:44,220 --> 00:01:46,120
>> Tako je s enak enaka ne?

35
00:01:46,120 --> 00:01:46,885
No, no.

36
00:01:46,885 --> 00:01:50,510
Če S in T, ki kažejo na drugačen
kose pomnilnika, kot bi se ga

37
00:01:50,510 --> 00:01:54,140
dvakrat kliče GetString, oni ne,
Dejstvo je, bo enaka.

38
00:01:54,140 --> 00:01:57,700
Zato se zdi, da se zgodi, da bi
primerjavo dveh nizov v intuitivna

39
00:01:57,700 --> 00:02:01,050
tako da pričakujemo, znak za
značaj, potrebujemo še eno tehniko

40
00:02:01,050 --> 00:02:02,300
celoti.

41
00:02:02,300 --> 00:02:03,902