1 00:00:00,000 --> 00:00:00,520 2 00:00:00,520 --> 00:00:03,530 >> SIARADWR: Gadewch i ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer dau llinynnau a 3 00:00:03,530 --> 00:00:07,170 Yna, adroddiadau a llinynnau hynny yr un fath neu nid yr un fath. 4 00:00:07,170 --> 00:00:10,290 Rwyf eisoes wedi dechrau i ni oddi yma gan galw printf ddwywaith ac yn galw 5 00:00:10,290 --> 00:00:14,520 GetString ddwywaith, storio y ffurflen gwerthoedd mewn s a t, yn y drefn honno. 6 00:00:14,520 --> 00:00:17,960 >> Yn awr, fy greddfau i gymharu dau hyn Byddai llinynnau fyddai defnyddio'r cyfarwydd 7 00:00:17,960 --> 00:00:19,160 gweithredwr cydraddoldeb - 8 00:00:19,160 --> 00:00:22,070 os yw ef yn hafal hafal t. 9 00:00:22,070 --> 00:00:28,120 Yna mi i'n mynd i fynd yn ei flaen ac argraffu allan "Rydych yn teipio yr un peth! 10 00:00:28,120 --> 00:00:35,190 Else, os nad yw hynny'n wir, rwy'n syml mynd i deipio printf ("Rydych deipio 11 00:00:35,190 --> 00:00:37,880 gwahanol bethau! 12 00:00:37,880 --> 00:00:38,850 >> Gweddol syml - 13 00:00:38,850 --> 00:00:41,820 Im 'yn syml cymharu yn erbyn t, ac os ydynt yn gyfartal, 14 00:00:41,820 --> 00:00:43,250 argraffu cymaint. 15 00:00:43,250 --> 00:00:45,450 Gadewch i ni lunio a rhedeg y rhaglen hon. 16 00:00:45,450 --> 00:00:51,950 Gwneud gymharu 0. / Cymharu 0, yn dweud rhywbeth, helo, 17 00:00:51,950 --> 00:00:54,200 dweud rhywbeth, helo. 18 00:00:54,200 --> 00:00:56,870 >> Yn anffodus, mae'r rhaglen yn meddwl rydw i wedi teipio pethau gwahanol, hyd yn oed er fy mod yn 19 00:00:56,870 --> 00:00:59,530 teipio yn glir "helo" y un ffordd y ddau dro. 20 00:00:59,530 --> 00:01:00,850 Yn awr, pam y gallai hynny fod? 21 00:01:00,850 --> 00:01:03,750 >> Wel, mae'n ymddangos fod hyn i gyd amser, llinynnau wedi bod ychydig yn fwy 22 00:01:03,750 --> 00:01:06,780 cymhleth na dilyniant o gymeriadau o dan y cwfl. 23 00:01:06,780 --> 00:01:11,450 Mewn gwirionedd, mae llinyn yn pwyntydd neu gyfeiriad, yn benodol y cyfeiriad 24 00:01:11,450 --> 00:01:14,640 y cymeriad cyntaf yn y dilyniant o gymeriadau. 25 00:01:14,640 --> 00:01:18,640 >> Ac felly pan fyddwn yn cymharu yn erbyn t gyda'r arwydd cyfartal cyfartal, rydym yn 26 00:01:18,640 --> 00:01:23,200 yn gofyn mewn gwirionedd, yn y cyfeiriad hwn cyfartal gyfartal i'r cyfeiriad hwn? 27 00:01:23,200 --> 00:01:26,850 Ac nid yw hynny'n mynd i fod yn wir os y defnyddiwr wedi teipio mewn dau wahanol 28 00:01:26,850 --> 00:01:30,370 llinynnau ac rydym wedi galw GetString ddwywaith i'w cael, gan fod y cof 29 00:01:30,370 --> 00:01:34,480 y GetString eu defnyddio i storio'r cyntaf Efallai y llinyn yma yn RAM, ond mae'r 30 00:01:34,480 --> 00:01:37,120 cof y GetString defnyddio i storio yr ail llinyn yn mynd 31 00:01:37,120 --> 00:01:38,760 i fod yma mewn RAM. 32 00:01:38,760 --> 00:01:42,380 Ac wrth gwrs, felly, y ddau darnau o cof yn cael cyfeiriadau gwahanol ar gyfer 33 00:01:42,380 --> 00:01:44,220 eu cymeriadau cyntaf. 34 00:01:44,220 --> 00:01:46,120 >> Felly, yn s gyfartal cyfartal i t? 35 00:01:46,120 --> 00:01:46,885 Wel, dim. 36 00:01:46,885 --> 00:01:50,510 Os yw ef a t yn pwyntio i wahanol darnau o gof, gan y byddent yn erbyn 37 00:01:50,510 --> 00:01:54,140 galw GetString ddwywaith, dydyn nhw ddim, mewn gwirionedd, yn mynd i fod yr un fath. 38 00:01:54,140 --> 00:01:57,700 Felly, mae'n ymddangos i fod yn wir, er mwyn cymharu dau llinynnau yn y 'n athrylithgar 39 00:01:57,700 --> 00:02:01,050 ffordd yr ydym yn disgwyl, cymeriad ar gyfer cymeriad, mae angen techneg arall 40 00:02:01,050 --> 00:02:02,300 yn gyfan gwbl. 41 00:02:02,300 --> 00:02:03,902