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

2
00:00:00,520 --> 00:00:03,530
>> SPEAKER: Kirjoitetaan ohjelma, joka
kysyy käyttäjältä kaksi merkkijonoa ja

3
00:00:03,530 --> 00:00:07,170
raportoi sitten ovatko nämä jouset
ovat samat tai ei ole sama.

4
00:00:07,170 --> 00:00:10,290
Olen jo alkanut meidät täällä
kutsuvan printf kahdesti ja kutsuvan

5
00:00:10,290 --> 00:00:14,520
GetString kahdesti, varastointi paluu
arvot s ja t, vastaavasti.

6
00:00:14,520 --> 00:00:17,960
>> Nyt minun vaistoni vertailua
jouset olisi käyttää tuttuja

7
00:00:17,960 --> 00:00:19,160
yhtäsuuruusoperaattorin -

8
00:00:19,160 --> 00:00:22,070
jos s vastaa vastaa t.

9
00:00:22,070 --> 00:00:28,120
Sitten aion mennä eteenpäin ja tulostaa
out "Kirjoitit sama asia!

10
00:00:28,120 --> 00:00:35,190
Else, jos se ei ole totta, olen yksinkertaisesti
menossa kirjoittaa printf ("Kirjoitit

11
00:00:35,190 --> 00:00:37,880
eri asioita!

12
00:00:37,880 --> 00:00:38,850
>> Melko yksinkertainen -

13
00:00:38,850 --> 00:00:41,820
Olen yksinkertaisesti vertaamalla s vastaan
t, ja jos he tasa-arvoisia,

14
00:00:41,820 --> 00:00:43,250
tulostamalla niin paljon.

15
00:00:43,250 --> 00:00:45,450
Katsotaanpa kääntää ja ajaa tämän ohjelman.

16
00:00:45,450 --> 00:00:51,950
Tee vertailla 0. / Vertaa
0, sanoa jotain, hei,

17
00:00:51,950 --> 00:00:54,200
sanoa jotain, hei.

18
00:00:54,200 --> 00:00:56,870
>> Valitettavasti ohjelma luulee olen
kirjoitetaan eri asioita, vaikka olen

19
00:00:56,870 --> 00:00:59,530
selvästi kirjoittanut "hei"
samalla tavalla molemmilla kerroilla.

20
00:00:59,530 --> 00:01:00,850
Nyt, miksi se voisi olla?

21
00:01:00,850 --> 00:01:03,750
>> No, käy ilmi, että kaikki tämän
aika, jouset ovat olleet hieman

22
00:01:03,750 --> 00:01:06,780
monimutkaisempi kuin merkkijono
alla huppu.

23
00:01:06,780 --> 00:01:11,450
Todellisuudessa merkkijono on osoitin tai
osoite, nimenomaan osoite

24
00:01:11,450 --> 00:01:14,640
ensimmäisen merkin siitä, että
merkkijono.

25
00:01:14,640 --> 00:01:18,640
>> Ja niin kun vertaamme s vastaan ​​t
kanssa yhtä yhtäläisyysmerkki, olemme

26
00:01:18,640 --> 00:01:23,200
oikeastaan ​​kysyä, on tämä osoite
equal equal tähän osoitteeseen?

27
00:01:23,200 --> 00:01:26,850
Ja se ei tule olemaan, jos
käyttäjä on kirjoittanut kahdella eri

28
00:01:26,850 --> 00:01:30,370
jousille ja me olemme kutsuneet getString kahdesti
saada niitä, koska muisti

29
00:01:30,370 --> 00:01:34,480
että getString käyttää tallentaa ensin
merkkijono voi olla täällä RAM, mutta

30
00:01:34,480 --> 00:01:37,120
muisti, joka getString käyttää tallentaa
Toinen merkkijono on menossa

31
00:01:37,120 --> 00:01:38,760
olla täällä RAM.

32
00:01:38,760 --> 00:01:42,380
Ja tietenkin, niin nämä kaksi paloina
muisti on eri osoitteet

33
00:01:42,380 --> 00:01:44,220
heidän ensimmäinen merkkiä.

34
00:01:44,220 --> 00:01:46,120
>> Joten on s yhtä yhtä t?

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

36
00:01:46,885 --> 00:01:50,510
Jos s ja t osoittavat eri
paloina muistia, koska ne olisivat by

37
00:01:50,510 --> 00:01:54,140
soittamalla getString kahdesti, ne eivät ole,
Itse asiassa, tulee olemaan sama.

38
00:01:54,140 --> 00:01:57,700
Niin se näyttää olevan niin, että sen
vertailla kahta jousille intuitiivinen

39
00:01:57,700 --> 00:02:01,050
siten, että odotamme, merkin
merkki, me tarvitsemme toinen tekniikka

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

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