วันพุธที่ 17 กันยายน พ.ศ. 2557

06:51
6.11 สรุปท้ายบท
            พอยน์เตอร์  คือ  ตัวแปรชนิดหนึ่งที่เก็บตำแหน่ง  (address)  ของข้อมูลภายในหน่วยความจำ  ซึ่งการเก็บตำแหน่ง  จะเก็บเฉพาะตำแหน่งแรกของข้อมูลเท่านั้น  ซึ่งพอยน์เตอร์มี  2  ชนิดคือ
  1. direct  pointer  คือ  ตัวแปรที่เก็บตำแหน่งของข้อมูลภายในหน่วยความจำโดยตรง
  2. indirect  pointer  คือ  ตัวแปรที่เก็บตำแหน่งของพอยน์เตอร์อีกตัวหนึ่ง  บางครั้งอาจ  เรียกว่า  pointer  to  pointer  ก็ได้
ประโยชน์ของการใช้พอยน์เตอร์  พอสรุปได้ดังนี้
  1. ใช้รับค่า  address  ของตัวแปรชุด  (arrays)  หรือตัวแปรสตริง  (strings  variables)  จากฟังก์ชันหนึ่งไปยังอีกฟังก์ชันหนึ่ง  และใช้ในการส่งค่ากลับมายังฟังก์ชัน
  2. ใช้ในการจัดการตัวแปรชุดหรือตัวแปรสตริงให้มีประสิทธิภาพ  โดยการอ้างอิงตำแหน่งของตัวแปรชุด หรือตัวแปรสตริงที่ต้องการ แทนที่การอ้างอิงชื่อตัวแปรชุดหรือตัวแปรสตริงโดยตรง  ทำให้สามารถจัดเก็บและเรียกใช้ข้อมูลที่ต้องการได้ง่าย
  3. ใช้พอยน์เตอร์ช่วยในการจัดการโครงสร้างข้อมูล   เช่น   ลิงก์ลิสต์  (linked  lists),    ไบนารีทรี   (binary  tree), การจัดเรียงข้อมูล  (sort)  ชนิดต่าง ๆ   เป็นต้น
            นอกจากประโยนช์ที่กล่าวมาข้างต้นแล้ว  เรายังสามารถใช้ตัวแปรพอยน์เตอร์กับฟังก์ชันที่เขียนขึ้นใช้งานเอง  (pointer  and  user  defined functions)
เราสามารถใช้ตัวแปรพอยน์เตอร์มาช่วยในการรับค่าและส่งคืนค่ากลับในฟังก์ชันที่เขียนขึ้นเองได้ดังนี้
  1. การส่งค่าไปยังฟังก์ชัน  (passing  address  to  function)  สามารถทำได้  2  วิธี
    1. การส่งค่าข้อมูลไปยังฟังก์ชันที่ต้องการ  (passing  data  values  to  function)  เป็นการส่งค่าข้อมูล  1  ค่าหรือหลายค่าจากฟังก์ชันหนึ่งไปยังอีกฟังก์ชันหนึ่ง  คือการคัดลอกค่าข้อมูล  (duplicated  value)  จากที่หนึ่งไปยังอีกที่หนึ่ง
    2. การส่งตำแหน่งของข้อมูลไปยังฟังก์ชัน  (passing  address  to  a  function)  เป็น        การส่งตำแหน่งของข้อมูลไปยังฟังก์ชันที่ต้องการจะต้องใช้ตัวแปรพอยน์เตอร ์มาช่วยในการเก็บตำแหน่งของข้อมูลที่ส่งมา
  2. การคืนค่ากลับของฟังก์ชัน  (returning  data  from  functions)
            โดยปกติการคืนค่ากลับมายังฟังก์ชันสามารถทำได้เพียง 1 ค่าเท่านั้น  แต่ในกรณีที่ต้องการให้มีการคืนค่ากลับหลายค่าต้องใช้พอยน์เตอร์มาช่วยจึงสามารถกระทำได้ โดยมีขั้นตอนดังนี้
ขั้นตอนแรก ในโปรแกรมที่ใช้เรียกฟังก์ชัน (calling program) จะต้องใช้วิธีการส่งตำแหน่งของข้อมูลไปยังฟังก์ชัน  โดยใช้เครื่องหมาย & นำหน้าชื่อตัวแปรที่ต้องการส่งค่า  address  ไป
ขั้นตอนที่สอง  ในฟังก์ชันที่ถูกเรียกใช้  จะต้องใช้ตัวแปรพอยน์เตอร์มารับค่า  address  ที่ส่งมาเมื่อต้องการคืนค่ากลับให้ใช้เครื่องหมาย  *  นำหน้าชื่อตัวแปรพอยน์เตอร์  เพื่อคืนค่ากลับมายังตัวแปรของฟังก์ชัน
            นอกจากนำตัวแปรพอยน์เตอร์มาใช้งานกับฟังก์ชันแล้ว  เรายังสามารถนำพอยน์เตอร์ใช้งานกับตัวแปรชุด  (pointers  and  arrays)  และตัวแปรสตริง  (pointers  and  string)  ได้  เพื่อช่วยในการจัดการข้อมูลที่เก็บอยู่ในตัวแปรชุดและตัวแปรสตริงได้ ซึ่งจะช่วยทำให้การจัดเก็บและการเรียกใช้ข้อมูลในตัวแปรชุดและตัวแปรสตริงมีประสิทธิภาพมากขึ้น

0 ความคิดเห็น:

แสดงความคิดเห็น