>> DAVID J. Malan: Poďme napísať program, ktoré vyzve užívateľa na zadanie reťazca a
potom pokračovať vytlačiť tento reťazec znak pre znak na každom riadku jeden.
Teraz v minulosti, by sme to urobili tak, Pravdepodobne sa štvorcovým držiakom notáciu,
efektívnu liečbu reťazec je pole znakov.
>> Ale tentoraz, poďme miesto liečbe reťazec na to, čo skutočne je,
ukazovateľ alebo adresu.
Konkrétne, adresa charakter, naozaj adresa
prvý znak, v poradí znaky, ktoré sme spoločne poznáme
ako reťazec.
>> Poďme najprv deklarovať reťazec pre čo to vlastne je, char *.
A budeme hovoriť to je.
A potom mu priradiť návrat hodnota get reťazca.
>> Poďme si urobiť nejaké ďalšie kontrolu chýb.
Ak je null, poďme sa okamžite vráti tak, že my nie náhodou
dereferencia, že nulový ukazovateľ.
>> Ďalšie, poďme iterácii znaky s takto.
Pre int, aj dostane 0.
n sa rovná dĺžka reťazca s
Urob to tak dlho, kým aj je menšie ako n.
A v každej iterácii, zvýšiť i
>> A to, čo chceme robiť na každej iterácii?
Poďme sa teraz tlačiť na každej iterácii jeden znak
nasleduje nový riadok.
No, čo postava robiť chceme tlačiť?
Navrhujem, že ideme na adresu ktorá sa rovná súčtu s a i
>> A teraz, prečo tento výraz?
No, pripomenúť, že uložené v s je adresa prvého znaku
v našom reťazci, s
Medzitým som sa zvýši na každej iterácie tak, že začína v 0,
potom ide do 1, potom ide do 2.
>> Takže inými slovami, s navyše aj efektívne predstavuje adresu
i-tý znak v s.
Takže ak pôjdeme na uvedenú adresu formou operátor *, pôjdeme na
i-tý znak v reťazci.
A to je hodnota, ktorá bude nahradiť pre náš zástupný symbol,
percent C.
>> Poďme potvrdenie toľko.
Poďme zachrániť, zostaviť, a spustiť tento program.
Skontrolujte ukazovatele, bodka ukazovatele lomítko.
A teraz som si to dať string ako ahoj.
Enter.
>> A vskutku, vidím, H-E-L-L-O, s každý char na vlastnom riadku.