บทที่ 9 พอยเตอร์
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น พอยเตอร์ (Pointer) พอยเตอร์คือต้นฉบับของชนิดข้อมูล เป็นชนิด ข้อมูลที่สร้างจากข้อมูลมาตรฐานชนิดหนึ่ง ค่าของ มันก็คือตำแหน่ง (Address) ที่อยู่ในหน่วยความจำ ของคอมพิวเตอร์ ซึ่งจะใช้สำหรับกำหนดค่าหรือ เข้าถึงข้อมูล พอยเตอร์นั้นสร้างจากแนวความคิด พื้นฐานของ Pointer Constants
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น Pointer Values Pointer Values คือ ค่าตำแหน่ง Address ของตัวแปรนั้น ถ้าต้องการค่าของ Address ของตำแหน่งของตัวแปรใด หรือจะกำหนดค่าที่รับเข้ามาทางคีย์บอร์ดให้ไปเก็บไว้ที่ตัว แปรนั้น จะต้องใช้เครื่องหมาย Address หรือ & ดังตัวอย่าง ด้านล่างแสดงการใช้ตัวแปร aChar &aChar
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น ตัวแปรพอยเตอร์ ถ้าผู้ใช้มี Pointer Constant และ Pointer Value ผู้ใช้ก็สามารถมี Pointer Variable หรือตัวแปรพอย เตอร์ได้ และผู้ใช้ก็สามารถบรรจุ Address ของตัว แปรตัวหนึ่งให้กับตัวแปรอีกตัวหนึ่งได้ Address ของตัวแปร a &a บรรจุอยู่ ในตัวแปร ตัวแปร พอยเตอร์
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น การเข้าถึงตัวแปรพอยเตอร์ ในขณะนี้ผู้ใช้มีตัวแปรและมีพอยเตอร์ที่ชี้ไปยังตัว แปรตัวนั้น เมื่อไรที่ผู้ใช้ต้องการพอยเตอร์ และ ต้องการเข้าถึงค่าที่พอยเตอร์ตัวนั้นชี้อยู่ จะต้องใช้ ตัวดำเนินการ Indirection หรือ * ยกตัวอย่างเช่น ถ้าต้องการเข้าถึงค่าของตัวแปรที่มี พอยเตอร์ p ชี้อยู่ ก็สามารถเขียนได้ดังนี้ *p
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น a++; a = a + 1; *p = p + 1; (*p)++;
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น การประกาศและกำหนดลักษณะของ พอยเตอร์ ผู้ใช้จะใช้เครื่องหมาย Indirection ในการ ประกาศและกำหนดลักษณะของตัวแปรพอยเตอร์ เมื่อทำตามนี้แล้วพอยเตอร์ก็จะยังไม่ชี้ไปยังตัวแปร ใด จะทำการกำหนดค่าให้ก่อนเสมอเหมือนตัวแปร ทั่วๆ ไป
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น การกำหนดค่าเริ่มต้นของพอยเตอร์ พอยเตอร์ก็เหมือนกับตัวแปร คือ เมื่อโปรแกรม เริ่มทำงานแล้ว ไม่ได้ทำการกำหนดค่าเริ่มต้นให้กับ พอยเตอร์ ในหน่วยความจำของพอยเตอร์ตัวนั้นจะ มีค่าบางอย่างที่ไม่อาจจะทราบได้ ค่าบางอย่างนั้น คอมพิวเตอร์อาจจะนำไปใช้ไม่ได้ และถ้านำไปใช้ อาจจะทำให้โปรแกรมเกิดการผิดพลาดขึ้นได้ ไม่ทราบค่า
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น พอยเตอร์กับฟังก์ชัน การใช้พอยเตอร์เป็นพารามิเตอร์ (Pointer as Formal Parameters) ฟังก์ชันที่มีการส่งค่ากลับเป็นพอยเตอร์ (Functions Returning Parameters)
สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อ การศึกษาเท่านั้น Pointers To Pointers การใช้พอยเตอร์ตัวหนึ่งชี้ไปยังพอยเตอร์อีกตัวหนึ่ง ซึ่งพอยเตอร์นั้นชี้ไปยังตัวแปร แต่ละระดับนั้นต้องมีเครื่องหมาย Indirection 1 ตัว *p และถ้าต้องการให้ q ชี้ไปยัง a โดยผ่าน p ก็จะเป็น 2 ระดับ ก็จะเขียนคำสั่งได้ดังนี้ **q ผลลัพธ์ของโปรแกรม