>> დევიდ ჯ Malan: მოდით დაწეროთ პროგრამა რომ თხოვს მომხმარებელს სიმებიანი და
შემდეგ გაგრძელება ბეჭდვა რომ სიმებიანი ხასიათი ხასიათი ერთ ხაზი.
ახლა წარსულში, ჩვენ გავაკეთეთ ალბათ კვადრატული ფრჩხილი ნოტაცია,
ეფექტურად მკურნალობის სიმებიანი არის მასივი სიმბოლო.
>> მაგრამ ამ დროს, მოდით ნაცვლად მკურნალობა სიმებიანი რა ეს ნამდვილად არის,
კურსორი ან მისამართზე.
კერძოდ, მისამართი ხასიათი, ნამდვილად მისამართი
პირველი ხასიათი, თანმიმდევრობა სიმბოლო, რომ ჩვენ ერთობლივად ვიცი
როგორც სიმებიანი.
>> მოდით პირველ განაცხადოს სიმებიანი ის, რაც ნამდვილად არ არის, char *.
და ჩვენ მოვუწოდებთ მას s.
და შემდეგ მივანიჭოთ მას დაბრუნების ღირებულება მიიღოს სიმებიანი.
>> მოდით მომდევნო დაკავდით შეცდომა შემოწმებისას.
თუ არის null, მოდით დაუყოვნებლივ დაბრუნებას ასე, რომ ჩვენ არ შემთხვევით
dereference რომ null მაჩვენებელი.
>> შემდეგი, მოდით iterate მეტი გმირები ნანახია ასეთია.
განთავსების int, i იღებს 0.
n შეადგენს სიმებიანი სიგრძე s.
ამისათვის, სანამ i ნაკლებია, ვიდრე n.
და თითოეულ iteration, ნამატი i.
>> და რა გვინდა ამის გაკეთება ყოველ iteration?
მოდით ახლა ამობეჭდოთ თითოეულ iteration ერთი ხასიათი
მოყვება ახალი ხაზი.
ისე, რა ხასიათი გაკეთება ჩვენ გვინდა ბეჭდვა?
მე ვთავაზობ, რომ ჩვენ წასვლა მისამართი რომ შეადგენს თანხა s პლუს i.
>> ახლა, რატომ, რომ გამოხატვის?
ასევე, გავიხსენოთ, რომ ინახება s არის მისამართი პირველ სიმბოლოს
ჩვენს string, s.
იმავდროულად, i მიმდინარეობს incremented on თითოეულ iteration ისე, რომ იგი იწყება 0,
შემდეგ ღებულობენ 1, მაშინ ღებულობენ 2.
>> ასე რომ, სხვა სიტყვებით, s პლუს i ეფექტურად წარმოადგენს მისამართი
i-th პერსონაჟი s.
ასე რომ, თუ ჩვენ წასვლა რომ მისამართი გზით * ოპერატორი, ჩვენ უნდა აპირებს
i-th პერსონაჟი სიმებიანი.
და რომ ის ღირებულება, რომელიც იქნება შეცვალეს ჩვენი placeholder,
პროცენტი C.
>> მოდით ადასტურებენ იმდენი.
გადავარჩინოთ, კომპილაციის, და აწარმოებს ამ პროგრამის.
რათა მითითებები, dot slash პოინტერები.
და ახლა მე მივცემ მას სიმებიანი მოსწონს hello.
შეიყვანეთ.
>> და მართლაც, მე ვერ ვხედავ H-E-L-L-O, ერთად თითოეული char საკუთარი ხაზი.