สวัสดีและยินดีต้อนรับ.
ในการบรรยายครั้งนี้ เราจะไป พูดคุยเกี่ยวกับอาร์เรย์ความยาวผันแปร
สิ่งนี้หมายความว่าอย่างไร?
นี่คือคุณสมบัติใหม่ ที่เพิ่มเข้ามาฉันคิดว่าสำหรับ C99
แต่จนถึงตอนนี้ เราทุกคน รู้เรื่องอาร์เรย์ นอกจากเป็นแบบหลายมิติแล้ว
ยังนอกเหนือจาก เป็นคุณสมบัติที่ยอดเยี่ยมที่คุณสามารถจัดเก็บองค์ประกอบข้อมูลได้หลายรายการ
ในตัวแปรเดียวโดยพื้นฐานแล้วคือขนาดคงที่
เมื่อคุณระบุขนาดนั้น คุณ ต้องใช้ค่าคงที่แบบฮาร์ดโค้ด
เมื่อคุณประกาศตัวแปร ที่ระบุขนาดและคงไว้เช่นเดิม
อาร์เรย์ความยาวผันแปร ทำให้เข้าใจผิดเล็กน้อย
ไม่ได้แปลว่าคุณจะเปลี่ยนไป ขนาดของอาร์เรย์แบบไดนามิก
ก็ยังจะเหมือนเดิม ขนาด แต่ตอนนี้คุณสามารถใช้ตัวแปรได้
ดังนั้น คำว่าตัวแปรในตัวแปร ความยาวอาร์เรย์ไม่ได้หมายความว่าคุณสามารถแก้ไขความยาวของ
อาร์เรย์หลังจากที่คุณสร้างมัน
หมายความว่าตอนนี้คุณสามารถ กำหนดตัวแปรที่จะใช้สำหรับอาร์เรย์นั้น
ดังนั้น VLA จะยังคงเก็บไว้ ขนาดเดียวกันหลังจากสร้าง
อาร์เรย์ตัวแปรช่วยให้คุณ ระบุขนาดและอาร์เรย์ด้วยตัวแปรเมื่อสร้างอาร์เรย์
คุณสามารถใช้ตัวแปรได้ นั่นคือทั้งหมดที่มันหมายถึงจริงๆ
ดูเหมือนว่ามันอาจจะ ไม่เป็นประโยชน์
แต่เหตุผลเดียวจริงๆ เพิ่มเข้ามาจริง ๆ เพราะมันช่วยให้มีอยู่จริง
ๆ ห้องสมุดและภาษาอื่นๆ
ดังนั้น C99 จึงแนะนำสิ่งใหม่นี้ คุณสมบัติและมันถูกใช้และนั่นคือเหตุผลที่ฉันอยากจะพูดถึงมัน
ฉันจะพูดถึงมันเท่านั้น สั้น ๆ ฉันจะไม่ให้กรณีการใช้งานโดยละเอียดของมัน
แค่อยากจะบอกว่ามีอยู่จริง เพราะบางครั้งคุณเห็นคำนี้อาร์เรย์ความยาวแปรผันค่อนข้างน้อย
เมื่อคุณกำลังอ่านเกี่ยวกับค
และฉันไม่อยากให้คุณเห็น แล้วบอกว่ามันหมายความว่ายังไงเมื่อเราศึกษาอาร์เรย์
และเราไม่ได้พูดถึงหัวข้อนี้
เลยนำมาแนะนำเป็นหลัก เพื่อให้ c เป็นภาษาที่ดีขึ้นสำหรับการคำนวณเชิงตัวเลข
VLA คืออาร์เรย์ความยาวผันแปร ทำให้ง่ายต่อการแปลงไลบรารี่ที่มีอยู่ของ
Fortran กิจวัตรการคำนวณเชิงตัวเลขถึงค.
นี่คือเหตุผลที่มันถูกเพิ่มเข้ามา
ดังนั้นหากคุณเป็นชาวฟอร์ทราน โปรแกรมเมอร์ คุณอาจต้องการใช้สิ่งนี้เมื่อคุณกำลังย้ายข้อมูล
หรือถ้าคุณกำลังแปลงรหัส
หากคุณกำลังย้าย Fortran . ของคุณ รหัสพยายามแปลงเป็น
c คุณอาจต้องการใช้สิ่งนี้
คุณไม่สามารถเริ่มต้น a VLA ในการประกาศ
ดังนั้นจึงไม่มีการเริ่มต้น เมื่อพูดถึงอาร์เรย์ความยาวผันแปร
นี่คือขนาดที่ถูกต้องบางส่วนที่คุณ สามารถใช้เมื่อประกาศอาร์เรย์
ดังนั้นเราสามารถประกาศสอง ตัวแปรและ ม.
แล้วคุณจะเห็นที่ด้านล่าง เมื่อเราพูดว่า float 8 และ float a9 เราสามารถใช้ตัวแปรเหล่านั้นเมื่อ
เราประกาศในขนาดอาร์เรย์
และนั่นไม่ได้รับอนุญาตมาก่อน C99 แต่ตอนนี้เป็นแล้ว
และนั่นคือ VLA อาร์เรย์ความยาวผันแปร
การระบุตัวแปรto ใช้ภายในอาร์เรย์
มันไม่ได้เปลี่ยนขนาดที่รันไทม์
มีตัวอย่างอื่น ๆ ที่นี่ ถูกต้อง การประกาศอาร์เรย์เช่นกันที่คุณอาจต้องการให้ความสนใจ
สมบูรณ์แบบถ้าคุณตั้งค่า an อาร์เรย์ให้มีขนาดเฉพาะ เช่น 5
คุณสามารถใช้นิพจน์เมื่อ คุณกำหนดขนาดของอาร์เรย์
ในตัวอย่างต่อไป 5 คูณ 2 บวก 1, ไม่เป็นไร
ที่น่าสังเกตอีกอย่างคือ เรากำลังใช้ตัวดำเนินการ sizeof และนั่นก็ใช้ได้ดีเช่นกันเพราะ
ที่จะกลับเป็น int
ขนาดของ int กำลังจะกลับมา 4 หรือ 8 ขึ้นอยู่กับเครื่องที่คุณกำลังใช้งานอยู่
และคุณ บวก 1 เข้าไปก็ดีนะ
การใส่จำนวนลบ ภายในการประกาศอาร์เรย์
คุณไม่สามารถทำได้
ไม่มีสิ่งที่เรียกว่าลบ 4
ขนาดของอาร์เรย์ ต้องมากกว่า 0
ดังนั้นศูนย์จะไม่ทำงานเช่นกัน
2. 5 ลอยกระทงทำไม่ได้ ทั้งมันไม่สมเหตุสมผล
สร้างได้อย่างไร อาร์เรย์ขนาด 2 5.
แต่ถ้าใส่ 2 5 ข้างใน วงเล็บเหลี่ยมแล้วโยนไปที่
int ไม่เป็นไร
ไม่อยากจ่ายเยอะอีกแล้ว เวลาบนอาร์เรย์ความยาวผันแปร
ฉันแค่อยากจะแนะนำแนวคิด
ถ้าคุณได้ยินคำว่า คุณรู้ว่ามันคืออะไร.
การกำหนดตัวแปรให้กับอาร์เรย์ เมื่อแจ้งขนาด
เพิ่งแนะนำตัวจริงๆ เพื่อความเข้ากันได้กับห้องสมุด
Fortran ที่มีอยู่ ขอขอบคุณ.