Skip to main content

อาร์เรย์ถ่านคืออะไร?

อาร์เรย์ของตัวละครเป็นที่รู้จักกันทั่วไปในภาษาการเขียนโปรแกรมคอมพิวเตอร์ส่วนใหญ่เป็นอาร์เรย์ถ่านนี่เป็นหลักเนื่องจากถ่านเป็นคำหลักในภาษาเช่น C ที่ใช้ในการประกาศตัวแปรของชนิดข้อมูลอักขระสเกลาร์อาร์เรย์ถ่านเป็นลำดับของอักขระที่บันทึกไว้ในหน่วยความจำในที่อยู่ติดต่อกันยาว ๆ ที่สามารถเข้าถึงได้อย่างรวดเร็วโดยใช้ดัชนีขององค์ประกอบภายในอาร์เรย์เช่นเดียวกับอาร์เรย์ของประเภทข้อมูลสเกลาร์จำนวนมากประโยชน์ของการใช้อาร์เรย์ถ่านจะอนุญาตให้เข้าถึงแบบสุ่มได้อย่างรวดเร็วและการเปลี่ยนค่าที่ตำแหน่งตามอำเภอใจภายในอาร์เรย์

ในภาษาการเขียนโปรแกรมเชิงวัตถุเช่น Java reg;เพื่อให้เข้าใจว่าอาร์เรย์ถ่านหมายถึงลำดับของค่าสเกลาร์และไม่ใช่คลาสหรือวัตถุชนิดข้อมูลสเกลาร์เป็นประเภทที่เก็บไว้เป็นชิ้นส่วนของข้อมูลเช่นจำนวนเต็มสิ่งนี้ตรงกันข้ามกับอาร์เรย์ของวัตถุอักขระซึ่งมีวิธีการและตัวแปรสนับสนุนอื่น ๆ เช่นการทำให้เป็นอนุกรมหรือข้อมูลการซิงโครไนซ์

อักขระในภาษาคอมพิวเตอร์ส่วนใหญ่เป็นประเภทข้อมูลที่ออกแบบมาเพื่อเก็บตัวอักษรหรือสัญลักษณ์เดียวโดยการเข้ารหัสอักขระที่ใช้โดยโปรแกรมหรือระบบปฏิบัติการด้วยเหตุผลนี้ยกเว้นในภาษาที่ได้มาตรฐานอย่างมากขนาดที่แท้จริงของอักขระในหน่วยความจำอาจแตกต่างกันในแต่ละระบบข้อมูลนี้สามารถสร้างความแตกต่างเมื่อพยายามสำรวจอาร์เรย์ถ่านโดยใช้เลขคณิตตัวชี้ซึ่งแทนที่จะใช้ตัวดำเนินการเพิ่มขึ้นอย่างง่ายและลดลงการคำนวณตัวชี้จำเป็นต้องใช้ขนาดอักขระที่กำหนดระบบอาศัยอาร์เรย์ที่ขนาดตัวละครคือ 1 ไบต์หรือ 2 ไบต์อาจทำให้เกิดพฤติกรรมและข้อผิดพลาดที่คาดเดาไม่ได้หากโปรแกรมทำงานบนระบบอื่นที่สามารถกำหนดตัวละครที่แตกต่างกัน

ภายในโปรแกรมบางโปรแกรมใช้เป็นพื้นฐานสำหรับการใช้งานคลาสสตริงหรือประเภทข้อมูลสตริงขั้นสูงในภาษาการเขียนโปรแกรม C สตริงได้รับการจัดการในแบบที่คล้ายกับอาร์เรย์ถ่านซึ่งลำดับตัวละครต่อเนื่องเป็นรูปแบบสตริงแจ้งโปรแกรมว่าสตริงได้จบลงด้วยอักขระว่างคลาสสตริงที่กำหนดเองสามารถออกแบบมาเพื่อเลียนแบบพฤติกรรมนี้ด้วยอาร์เรย์

การใช้งานอื่น ๆ สำหรับอาร์เรย์ถ่านรวมถึงการแสดงประเภทของการบีบอัดหรือการเข้ารหัสที่ไม่จำเป็นต้องขึ้นอยู่กับ octets แต่เป็นตัวละครที่อ่านได้ของมนุษย์อาร์เรย์ยังสามารถใช้เป็นประเภทของบัฟเฟอร์สำหรับการประมวลผลของบล็อกข้อความที่ยาวขึ้นซึ่งจัดขึ้นในไฟล์สื่อทางกายภาพหรือหนึ่งที่กำลังอ่านจากซ็อกเก็ตเครือข่ายฟังก์ชั่นส่วนใหญ่ที่ใช้อาร์เรย์ถ่านเกี่ยวข้องกับอินพุตข้อความและเอาต์พุตเพียงเพราะขนาดของอักขระสเกลาร์ไม่สามารถคาดเดาได้จากระบบหนึ่งและคอมไพเลอร์ไปยังอีกระบบหนึ่งในหลายภาษาและดังนั้นจึงไม่สามารถพึ่งพาค่าจำนวนเต็มได้ช่วงที่แน่นอน