สวัสดีและยินดีต้อนรับกลับ
ในการบรรยายครั้งนี้ ฉันอยากจะพูด เกี่ยวกับอาร์กิวเมนต์บรรทัดคำสั่ง
เหตุผลที่ฉันรวมสิ่งนี้ไว้ ข้อมูลในส่วนตัวแปรและประเภทข้อมูลเป็นเพราะ
อาร์กิวเมนต์บรรทัดคำสั่งเป็นวิธีส่งข้อมูลไปยังโปรแกรมของคุณ
มันก็เหมือนผ่าน ตัวแปรในโปรแกรมของคุณ
และมีประโยชน์มากและ คุณมักจะทำมัน ดังนั้นฉันจึงต้องการที่จะครอบคลุมเรื่องนี้อย่างรวดเร็ว
ดังนั้นอาร์กิวเมนต์บรรทัดคำสั่ง
โดยพื้นฐานแล้ว มีบางครั้งที่ a โปรแกรมถูกพัฒนาให้ผู้ใช้ป้อนจำนวนเล็กน้อย
ของข้อมูลที่เทอร์มินัล
อย่างนี้ก็หมายความว่า อาร์กิวเมนต์บรรทัดคำสั่งเป็นอาร์กิวเมนต์ของโปรแกรมเป็นหลัก
ผ่านแบบนี้ไปได้ ข้อมูลไปยังโปรแกรม
ดังนั้นเมื่อคุณถามผู้ใช้หรือ a โปรแกรมต้องการข้อมูล เป็นไดนามิก ที่ผู้ใช้ป้อน
มีหลายวิธีที่คุณสามารถส่งข้อมูลนี้ได้
คุณสามารถขอผู้ใช้ได้ หรือจะส่งเป็นโปรแกรมก็ได้
และเหตุผลที่อยากทำ เนื่องจากคุณอาจต้องให้ผู้ใช้ป้อนหมายเลขที่
ระบุตัวเลขสามเหลี่ยมที่คุณต้องการคำนวณหรือ ผู้ใช้ต้องป้อนคำที่คุณต้องการค้นหาในพจนานุกรม
ข้อมูลทั้งหมดไม่คงที่ หรือไม่เปลี่ยนแปลง
ข้อมูลบางอย่างที่คุณต้องการ ขอให้ผู้ใช้ป้อนข้อมูล
และอย่างที่บอกไปว่าคุณทำได้ ทำหนึ่งในสองวิธีนี้
คุณสามารถขอข้อมูลจาก ผู้ใช้และเราจะพูดถึงสิ่งนั้นในการบรรยายที่จะเกิดขึ้นหรือคุณสามารถ
ให้ข้อมูลโปรแกรมในขณะที่โปรแกรมทำงาน
และนี่คือสิ่งที่เรียกว่า เป็นอาร์กิวเมนต์บรรทัดคำสั่ง
ส่งข้อมูลไปยังโปรแกรมของคุณผ่านทาง บรรทัดคำสั่งเมื่อรันโปรแกรม
และเรารู้แล้วว่าทุก ๆ โปรแกรม c มีฟังก์ชันหลัก
นี่คือฟังก์ชั่นพิเศษ โดยพื้นฐานแล้วมันเป็นจุดเริ่มต้นของโปรแกรม
พิเศษด้วยเพราะเป็นได้ ใช้เพื่อรับอาร์กิวเมนต์บรรทัดคำสั่ง
ดังนั้นเมื่อตัวหลักถูกเรียกโดย ระบบรันไทม์ สองอาร์กิวเมนต์ถูกส่งผ่านไปยังสิ่งนี้จริง
ๆ ฟังก์ชันอาร์กิวเมนต์บรรทัดคำสั่ง
อาร์กิวเมนต์ทั้งสองเป็นข้อแรก หนึ่งคือการนับอาร์กิวเมนต์
ข้อมูลเท่าไหร่ ผ่านเข้าสู่โปรแกรม
เป็นค่าจำนวนเต็ม
ระบุจำนวน อาร์กิวเมนต์ที่พิมพ์ที่บรรทัดคำสั่ง
อาร์กิวเมนต์ที่สองซึ่ง ถูกแทนด้วย arg v สำหรับเวกเตอร์อาร์กิวเมนต์คือ
an อาร์เรย์ของพอยน์เตอร์อักขระ
ตอนนี้คุณอาจถามตัวเอง อาร์เรย์คืออะไร
เราไม่รู้ว่าอาร์เรย์คืออะไร
แต่ที่สำคัญอีกอย่างคือ ทำความเข้าใจว่าคุณสามารถส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่งได้อย่างไร
คุณแค่คิดว่าอาร์เรย์เป็น ตัวแปรต่าง ๆ มากมายสำหรับตอนนี้
อาร์กิวเมนต์แรก arg c สำหรับอาร์กิวเมนต์ นับอาร์กิวเมนต์ที่สองเป็นเวกเตอร์
จำไว้ว่าการโต้เถียงเป็นวิธีที่คุณ สามารถส่งข้อมูลไปยังฟังก์ชันได้
นั่นคือทั้งหมดที่มันเป็น ไม่เท่ากันจริงๆ ที่ซับซ้อนขนาดนั้น ดังนั้นหน้าที่หลักที่คุณทำได้
ส่งข้อมูลบางส่วนผ่านฟังก์ชันหลัก
เมื่อคุณรันโปรแกรม นั่น สามารถระบุข้อมูลได้เมื่อคุณรันโปรแกรมที่บรรทัดคำสั่ง
ดังนั้น จำไว้ว่า เมื่อคุณรันโปรแกรม ให้ดับเบิ้ลคลิกที่มันหากเป็นไฟล์ปฏิบัติการหรือถ้าคุณเปิดอยู่
ลินุกซ์หรือวินโดวส์ที่คุณรันด้วยการทำ dot slash a dot out
เมื่อคุณทำอย่างนั้น คุณสามารถส่งผ่านสิ่งต่าง
ๆ หลังจากโปรแกรมได้
ดังนั้นคุณสามารถพูดได้ว่าโปรแกรม exe แล้วใส่พารามิเตอร์หลังจากนั้น
ข้อมูลหลังจากนั้น
และฉันจะแสดง คุณจะทำอย่างไร
ดังนั้นอีกครั้งรายการแรกใน array เป็นตัวชี้ชื่อโปรแกรมที่กำลังรันอยู่
แล้ว ทุกอย่างหลังจากนั้นจะเป็นข้อโต้แย้งและฉันจะสาธิตสิ่งนี้
นี่คือตัวอย่าง นี่คือ ฟังก์ชั่นหลักและมีสองอาร์กิวเมนต์หรือสองพารามิเตอร์จริงๆ
เราจะพูดถึง ความแตกต่างระหว่างพารามิเตอร์และอาร์กิวเมนต์เช่นกัน
แต่เห็นเขียนว่า int argsie แล้วก็ char แล้วก็มี
star asterisk arg v.
อีกครั้งไม่ต้องกังวลเกี่ยวกับเรื่องนั้น โดยพื้นฐานแล้วทุกอย่างหลังเครื่องหมายจุลภาคจะเป็นข้อมูลที่
คุณกำลังส่งผ่านไปยังโปรแกรม
และหาเรื่อง c จะเป็น จำนวนข้อมูล
ลองมาดูตัวอย่างกัน นั่นเป็นวิธีที่ดีที่สุดในการเรียนรู้สิ่งนี้
นี่คือตัวอย่างของเรา
หากเราต้องการส่งข้อมูลไปยัง . ของเรา โปรแกรมผ่าน command line เราต้องมีพารามิเตอร์ใน
main.js
จนถึงจุดนี้ หลักมีเพียง ว่างด้วยวงเล็บว่างสองอัน
ดังนั้นสิ่งแรกที่เราต้อง do คือเพียงแค่ต้องบอกว่า arg c
จริงๆ แล้วจะเป็นชื่ออะไรก็ได้ ยกเว้น arg c หมายถึงการนับอาร์กิวเมนต์
แล้วก็ char star arg v.
และอีกครั้งไม่ต้องกังวล เกี่ยวกับไวยากรณ์นี้สำหรับตอนนี้
แต่เราต้องบวกสองตัวนี้ก่อน
ดังนั้นฉันจะสร้างมันขึ้นมา ตัวแปรที่นี่ซึ่งแสดงให้เห็นข้อมูลที่ถูกส่งผ่านและ
เนื่องจากข้อมูลกำลังถูกส่งผ่าน ฉันต้องเก็บไว้ที่ไหนสักแห่ง
ดังนั้นฉันจะสร้าง ตัวแปรประเภท int นั่นคือจำนวนอาร์กิวเมนต์
และนี่กำลังจะไป เท่ากับหาเรื่อง c
Arg c เป็นเพียงตัวแปร ที่ผ่านเข้ามา และฉันจะแสดงให้คุณเห็นว่าสิ่งนี้หมายถึงอะไร
ฉันจะสร้างใหม่ ตัวแปรที่แสดงถึงข้อโต้แย้งของเราและสิ่งนี้กำลังเกิดขึ้น
ให้เท่ากับหาเรื่องกับศูนย์
อีกครั้งไม่ต้องกังวลเกี่ยวกับ ไวยากรณ์ arg v zero
รหัสบรรทัดนี้ทำอะไรอยู่ บรรทัดที่ 13 คือการตั้งค่าอาร์กิวเมนต์
1 ตัวแปรเท่ากับชื่อโปรแกรม
แล้วถ้าเราทำอย่างอื่น เราบอกว่าตัวละคร star อาร์กิวเมนต์ที่สองและเรากำลังจะตั้งค่า
ที่เท่ากับหาเรื่อง v ย่อย 1
แล้วก็ไปกันเลย เพื่อพิมพ์ข้อมูลนี้
เลยจะพิมพ์ว่า จำนวนอาร์กิวเมนต์และเราต้องการพิมพ์ตัวแปรค่าดังนั้นเรา
ต้องใช้รูปแบบนี้ระบุ
เราจะบอกว่าเปอร์เซ็นต์ d
แล้วหลังจากเครื่องหมายจุลภาค เราจะพูดถึงจำนวนอาร์กิวเมนต์เพราะนี่คือ
a ตัวแปรที่เราต้องการแสดง
แล้วเราก็มีอีก พิมพ์คำสั่งที่จะพิมพ์อาร์กิวเมนต์
1
และนี่กำลังจะไป เป็นตัวแทนของชื่อโปรแกรม
และอีกครั้ง เรามีสัญลักษณ์เปอร์เซ็นต์ เราจะบอกว่าเปอร์เซ็นต์
s เพราะนี่คือสตริงอีกแล้ว ไม่ใช่ สำคัญที่ต้องเข้าใจ ณ จุดนี้
บ่อยครั้งเมื่อคุณสาธิต ตัวอย่างโค้ดที่คุณต้องการพิมพ์ค่าของตัวแปร
ดังนั้นคำสั่ง printf เหล่านี้เกี่ยวกับ 16 และ 17 กำลังพิมพ์ค่าของตัวแปรที่ส่งผ่านไปยัง
main ซึ่งเป็นอาร์กิวเมนต์บรรทัดคำสั่งที่ฉันแสดง
และสุดท้ายที่ฉันต้องการ display เป็นอาร์กิวเมนต์ที่สองของเรา
และนี่คืออาร์กิวเมนต์บรรทัดคำสั่ง นอกจากชื่อโปรแกรมแล้ว
นี่จะเป็นอาร์กิวเมนต์2 ที่เราจะนำมาแสดง
แล้วเราจะคืนค่า 0
จึงเป็นโปรแกรมที่ง่ายมาก ในแง่ของมันไม่ได้มีฟังก์ชั่นมากมาย
โดยทั่วไปแล้วจะได้รับข้อมูล จากฟังก์ชันที่ส่งผ่านเข้ามาและแสดงข้อมูลนั้น
เมื่อผมบอกว่าคุณทำได้ ส่งข้อมูลไปยังโปรแกรม
จำไว้อีกครั้งว่าเมื่อคุณ รันโปรแกรมนี้ เราแค่ดับเบิลคลิกที่ตัวเลือกเมนู
แต่สิ่งที่เกิดขึ้นจริงคือคุณ รันคำสั่งไม่ว่าจะดับเบิลคลิกหรือรัน
exe หรือใน linux หรือยูนิกซ์ที่คุณทำจุดออก
ดังนั้นเมื่อคุณรันโปรแกรม คุณสามารถส่งข้อมูลไปยังมันได้จริง
เนื่องจากเราไม่ได้ดำเนินการจริง คำสั่งเราทำเมนูเราต้องส่งข้อมูลผ่าน
สภาพแวดล้อมการพัฒนาแบบบูรณาการ
และโชคดีที่บล็อคโค้ดมี วิธีที่ดีในการทำเช่นนั้น
เพื่อส่งข้อมูลเป็นบรรทัดคำสั่ง อาร์กิวเมนต์ของโปรแกรม
สิ่งที่คุณต้องทำคือไปที่โครงการของคุณ ไฮไลต์ไปที่ตัวเลือกเมนูที่ระบุว่าโครงการแล้ว
ไปที่การตั้งค่าอาร์กิวเมนต์โปรแกรม
และดูที่นี่ หน้าต่างจะ ปรากฏขึ้นและโดยพื้นฐานแล้วคุณสามารถพูดข้อโต้แย้งของคุณได้
และคุณสามารถใส่เป็น มากเท่าที่คุณต้องการที่นี่
เริ่มกันเลย.
ฉันแค่จะพิมพ์ชื่อของฉัน เจสัน
ฉันจะผ่านข้อโต้แย้งนั้น ข้อมูลนั้นลงในโปรแกรมของฉันเมื่อโปรแกรมทำงาน
และฉันจะบอกว่าโอเค
งั้นฉันไปล่ะ ไปข้างหน้าและรวบรวมสิ่งนี้
และเมื่อฉันรันมัน จะทำอย่างไร คุณคิดว่าค่าของจำนวนอาร์กิวเมนต์จะเป็น
อ้อ จำได้ว่ามี อาร์กิวเมนต์ที่ผ่านซึ่งเป็นชื่อโปรแกรมแล้วฉัน
ผ่านเจสัน นี่จึงควรเท่ากับ 2 เลข 2
อาร์กิวเมนต์ 1 จะเป็น ชื่อโปรแกรม ดังนั้นนี่ควรเป็นชื่อโปรแกรมตามที่ฉันตั้งชื่อไว้
มันและฉันจำไม่ได้ว่าสิ่งนี้จะสร้างการทดสอบหรือไม่
แล้วอาร์กิวเมนต์ 2 ควรเป็น Jason เพราะนั่นคือสิ่งที่ฉันกำลังผ่านเข้ามา
ทีนี้ถ้าผมรันมันมาดูกันว่า เกิดขึ้นเราบอกว่าเรียกใช้คุณจะเห็นว่าจำนวนอาร์กิวเมนต์เป็นสอง
อาร์กิวเมนต์หนึ่งคือชื่อโปรแกรม และอ่านรูปแบบยากมากเพราะไม่มีบรรทัดใหม่
มาเริ่มกันใหม่ดีกว่า เพิ่มบรรทัดใหม่จริง ๆ
เราจะเพิ่มใหม่ได้อย่างไร เส้นที่จะพิมพ์
ใช้ทางหนีก็ได้ ลำดับ ซึ่งเป็นแบ็กสแลช n
ลองเพิ่มแบ็กสแลช n หลังร้อยละ d สำหรับคำสั่งพิมพ์ครั้งแรกและ
a แบ็กสแลช n หลังจากอันถัดไป
ดังนั้นจึงอ่านได้ง่ายขึ้นในรูปแบบเอาต์พุต
และตอนนี้เรามาบันทึกกันเถอะ สร้างใหม่อีกครั้งแล้วลองรันดู คราวนี้ผลลัพธ์คืออะไร
หวังว่ามันจะอ่านง่ายขึ้น
ตอนนี้เมื่อเราดำเนินการ คุณจะ เห็นว่ามีบรรทัดแยกกัน
อ่านง่ายกว่ามาก
แสดงจำนวนอาร์กิวเมนต์ เป็นสองเพราะอย่างที่ฉันพูดถึงอาร์กิวเมนต์แรกคือชื่อโปรแกรม
อาร์กิวเมนต์ที่สองคือสิ่งที่ผมผ่านเข้ามา
และอาร์กิวเมนต์ 1 จะปรากฏขึ้นจริง เป็นชื่อของโปรแกรม ซึ่งเป็นไดเร็กทอรีทั้งหมดของฉัน
โครงสร้างแล้วทดสอบ exe.
และข้อโต้แย้งที่ 2 คือ Jason เพราะ นั่นคือสิ่งที่ฉันตั้งไว้ใน ID
ตอนนี้ฉันสามารถไปและฉันสามารถปรับเปลี่ยนได้
อาร์กิวเมนต์ของโปรแกรมโดยไปที่ตัวเลือกเมนูโครงการและ บอกว่าโปรเจ็กต์ไปที่ตั้งค่าอาร์กิวเมนต์ของโปรแกรมและฉันสามารถเปลี่ยนแปลงสิ่งนี้ได้
ตอนนี้เมื่อฉันเปลี่ยนสิ่งนี้ถ้าฉัน เปลี่ยนเป็นอย่างอื่นหรือฉันจะพูดอะไรบางอย่าง
ตอนนี้เมื่อฉันเรียกใช้ data ที่กำลังจะผ่านเข้าสู่โปรแกรมก็จะเป็นอะไรๆ
แตกต่างไปจากเดิม สิ่งที่คุณต้องทำคือวิ่ง คุณไม่จำเป็นต้องคอมไพล์ใหม่
ตอนนี้มันก็แค่บางอย่าง ที่แสดงอยู่
และนี่คือวิธีที่คุณสามารถ ส่งข้อมูลไปยังโปรแกรมโดยไม่ต้องขอจากผู้ใช้โดยเฉพาะ
คุณเพียงแค่พิมพ์ลงใน IDE และส่งต่อไปยังโปรแกรม
และคุณสามารถผ่านการโต้แย้งมากมาย
คุณไม่จำเป็นต้องผ่านสิ่งนั้น
ถ้าคุณต้องการที่จะผ่านมากขึ้น คุณจะ ไปที่ตั้งค่าอาร์กิวเมนต์ของโปรแกรมอีกครั้งและคั่นด้วยบรรทัดใหม่
แน่นอน ถ้าคุณต้องการใช้ คุณจะต้องเข้าถึงมันใน อาร์เรย์ แต่คุณสามารถผ่านในหลาย ๆ
จึงเป็นประโยชน์ในการส่งข้อมูลไปยัง โปรแกรมโดยไม่ต้องให้ผู้ใช้พิมพ์อะไรบางอย่างในแป้นพิมพ์
ถ้าคุณไม่ทำอย่างนี้ โปรแกรมจะหยุดชั่วคราวและมันบอกว่าเฮ้ผู้ใช้โปรดป้อนบางอย่าง
แล้วผู้ใช้ก็จะเข้า บางอย่างแล้วคุณจะต้องบันทึกไว้ในตัวแปรแล้ว
คุณต้องดำเนินการต่อไป
แบบนี้ไม่ต้องถาม ผู้ใช้สำหรับสิ่งที่คุณเพิ่งส่งผ่านเป็นส่วนหนึ่งของโปรแกรม
นี่คือสิ่งที่สั่ง อาร์กิวเมนต์บรรทัดคือ
ไม่ต้องกังวลกับแนวคิดอื่นๆ เหล่านี้ เช่นเดียวกับอาร์เรย์ คุณเห็นเครื่องหมายดอกจันสำหรับพอยน์เตอร์
ไม่ต้องกังวลกับสิ่งนั้น
อีกครั้งนี้เป็นเพียงการแสดง อาร์กิวเมนต์บรรทัดคำสั่ง
และวิธีการเข้าถึง ผ่านพารามิเตอร์เหล่านี้ในฟังก์ชัน
แต่อีกครั้ง ประเด็นหลักคือ นี่คือวิธีที่คุณสามารถทำได้
และมีประโยชน์ก็จะเป็น มีประโยชน์สำหรับโปรแกรมอื่นและเกี่ยวข้องกับตัวแปร
ขอขอบคุณ.