3
การปรับขนาดของตัวแปร“ จริง” มีประโยชน์อย่างไร?
สิ่งหนึ่งที่ทำให้ฉันรู้สึกว่าคุณสมบัติเชิงบวกของ C (จริง ๆ แล้วการใช้งานเช่น gcc, clang, ... ) คือความจริงที่ว่ามันไม่ได้เก็บข้อมูลที่ซ่อนอยู่ถัดจากตัวแปรของคุณที่รันไทม์ โดยสิ่งนี้ฉันหมายความว่าหากคุณต้องการตัวแปร "x" ของประเภท "uint16_t" คุณสามารถมั่นใจได้ว่า "x" จะใช้พื้นที่ 2 ไบต์เท่านั้น (และจะไม่นำข้อมูลที่ซ่อนอยู่เช่นประเภท ฯลฯ มาใช้) .) ในทำนองเดียวกันถ้าคุณต้องการอาเรย์ของจำนวนเต็ม 100 จำนวนเต็มคุณอาจมั่นใจได้ว่ามันมีขนาดใหญ่เท่ากับจำนวนเต็ม 100 ตัว แต่ยิ่งฉันพยายามที่จะเกิดขึ้นกับกรณีการใช้งานที่เป็นรูปธรรมสำหรับคุณลักษณะนี้มากขึ้นผมกำลังสงสัยว่าถ้าเป็นจริงมีใด ๆข้อได้เปรียบในทางปฏิบัติที่ทุกคน สิ่งเดียวที่ฉันสามารถขึ้นมาเพื่อให้ห่างไกลก็คือว่ามันเห็นได้ชัดว่าต้องการ RAM น้อย สำหรับสภาพแวดล้อมที่ จำกัด เช่นชิป AVR เป็นต้นนี่เป็นข้อดีอย่างมาก แต่สำหรับกรณีการใช้งานเดสก์ท็อป / เซิร์ฟเวอร์ทุกวันดูเหมือนว่าจะไม่เกี่ยวข้องเลย ความเป็นไปได้อีกอย่างหนึ่งที่ฉันคิดคืออาจเป็นประโยชน์ / สำคัญสำหรับการเข้าถึงฮาร์ดแวร์หรืออาจทำแผนที่ภูมิภาคของหน่วยความจำ (เช่นสำหรับเอาต์พุต VGA และอื่น ๆ ) ... …