อธิบายโปรแกรม
- ประกาศใช้งานตัวแปรอาร์เรย์ a และ b มีขนาด 5 ช่อง พร้อมทั้งกำหนดค่าเริ่มต้นให้
- ประกาศตัวแปรพอยเตอร์ p เป็นตัวแปรพอยเตอร์ธรรมดา โดยกำหนดค่าเริ่มต้นให้ชี้ไปยังช่องแรกของตัวแปร a
- ประกาศตัวแปร q เป็นอาร์เรย์ของพอยเตอร์ชนิดเลขจำนวนเต็มขนาด 5 ช่อง
- ทำการวนลูป 5 ครั้ง เพื่อกำหนดค่าเริ่มต้นให้อารย์เรย์ q แต่ละช่อง โดยมีเงื่อนไขว่าหาก index เป็นเลขคี่ (กำหนดให้ i คือ index) แล้วจะระบุค่าให้อาร์เรย์ของพอยเตอร์ q ณ ตำแหน่ง index นั้นๆ ชี้ไปยังแอดเดรสของตัวแปร a ณ ตำแหน่ง index เดียวกัน จะพิมพ์ค่าข้อมูลที่ได้มาจากการที่ตัวแปรพอยเตอร์ q ชี้อ้างอิงไปยังแอดเดรสของตัวแปรต่างๆ ซึ่งจะพบว่าการทำงานในแต่ละรอบจะพิมพ์ค่าข้อมูลของตัวแปร a และ b สลับกัน
- จะพบว่าในเวลาหนึ่งๆ ตัวแปรพอยเตอร์ p สามารถชี้อ้างอิงไปยังตัวแปรได้เพียงตัวเดียวเท่านั้น เพราะ p เป็นตัวแปรพอยเตอร์ธรรมดา ไม่ใช่อาร์เรย์ ซึ่งในที่นี้ p ชี้ไปยังช่องแรกของตัวแปร a ดังนั้น p จึงพิมพ์ค่าออกมาเป็น 1