>> დინამიკები დღემდე, პროგრამების ჩვენ დაწერილი, ჩვენ განაცხადა მთავარი, როგორც
int ძირითადი ბათილად.
და ყველა ამ დროს, რომ ბათილად აქვს უბრალოდ მიუთითებს, რომ
პროგრამა არ მიიღოს ნებისმიერი ბრძანების არგუმენტები.
სხვა სიტყვებით, როდესაც მომხმარებელი გადის პროგრამა, მას შეუძლია ბრძანება
ხაზი არგუმენტები წერილობით დამატებითი სიტყვა ან ფრაზა შემდეგ პროგრამის
ასახელებს ბრძანებათა ზოლზე.
>> ისე, თუ არ გსურთ, რომ თქვენი პროგრამა მიიღოს ბრძანება ხაზი არგუმენტები, ერთი ან
ასეთი სიტყვებით, ჩვენ უნდა შეცვალოს ბათილად რამდენიმე არგუმენტები.
მოდით გავაკეთოთ ეს.
მოიცავს cs50.h.
მოიცავს სტანდარტული io.h.
Int, მთავარი, და ახლა ნაცვლად ბათილად, მე ვაპირებ მიუთითოთ int მოუწოდა
argc, და მასივი სიმები მოუწოდა argv.
>> ახლა, argc და argv არის უბრალოდ კონვენციები.
ჩვენ ვერ მოვისმინეთ მოვუწოდებთ ეს არგუმენტები ყველაზე არაფერი გვინდა.
მაგრამ რა არის მნიშვნელოვანი ის არის, რომ argc არის int, რადგან ზოგადად, ეს არის
აპირებს შეიცავდეს არგუმენტი ითვლის, სიტყვების რაოდენობა, სულ რომ
მომხმარებელს ჯერ აკრეფილი ერთი მისი ზოლზე.
>> Argv, იმავდროულად, არგუმენტი ვექტორი, არის აპირებს რეალურად იყოს მასივი შენახვა
ყველა სიტყვა, რომ მომხმარებელს აქვს აკრეფილი ერთი მისი ზოლზე.
მოდით გაგრძელება რაღაც ახლა ერთი ან მეტი ასეთი
ბრძანების არგუმენტები.
კერძოდ, მოდით წავიდეთ წინ და ბეჭდვითი რასაც სიტყვის მომხმარებლის ტიპის
შემდეგ პროგრამის სახელი ბრძანებათა ზოლზე.
>> ღია bracket, დახურული ფრჩხილი, ბეჭდვითი f, პროცენტი s, backslash N, მძიმით.
და ახლა მე უნდა ვუთხრა ბეჭდვითი ვ რა ღირებულება plug შევიდა, რომ placeholder.
მე მინდა, რომ პირველი სიტყვა, რომ მომხმარებელს აქვს აკრეფილი შემდეგ პროგრამის სახელი.
და ა.შ. მე ვაპირებ მიუთითოთ argv bracket 1, დახურულ
ფრჩხილებში, მძიმით.
>> ახლა, რატომ bracket 1 და არა bracket 0?
ასევე, თურმე, ავტომატურად ინახება ამ argv 0 იქნება
პროგრამის ფაქტობრივი სახელით.
ასე რომ პირველი სიტყვა, რომელიც მომხმარებლის ტიპი მას შემდეგ, რაც პროგრამის სახელწოდება არის,
კონგრესზე იქნება შენახული argv 1.
>> მოდით ახლა კომპილირდება და აწარმოებს ამ პროგრამის.
რათა argv 0 dot slash argv 0, და ახლა სიტყვა hello, შევა.
და იქ ჩვენ მას, hello.