pointer
ความหมายของพอยน์เตอร์
พอยน์เตอร์ (pointer) เป็นตัวแปรชนิดหนึ่งใช้เก็บตำแหน่งของข้อมูลในหน่วยความจำ โดยการเก็บตำแหน่งจะเก็บเฉพาะตำแหน่งแรกของข้อมูล
พอยน์เตอร์ มี 2 ประเภท คือ
1. direct pointer เป็นตัวแปรที่เก็บตำแหน่ง(address) ในหน่วยความจำ ของข้อมูล ตัวอย่าง เช่น ตัวแปรชื่อ x มีข้อมูลเป็น 120 ซึ่งถูกเก็บไว้ในหน่วยความจำที่ตำแหน่ง 5000 พอยน์เตอร์ ชื่อ ptr มีค่าที่เก็บไว้เป็น 5000
2. indirect pointer เป็นตัวแปรที่เก็บตำแหน่ง (address) ของพอยน์เตอร์ซึ่งเก็บตำแหน่งของข้อมูลของตัวแปร เช่น ตัวแปรชื่อ x มีข้อมูลเป็น 120 ซึ่งถูกเก็บไว้ในหน่วยความจำที่ตำแหน่ง 5000 พอยน์เตอร์ ชื่อ ptr มีค่าที่เก็บไว้เป็น 5000 และ พอยน์เตอร์ ชื่อ pptr เก็บตำแหน่งหน่วยความจำของ ptr ซึ่งมีค่า 3000 พอยน์เตอร์ pptr นี้อาจเรียกว่า pointer to pointer
การประกาศตัวแปรพอยน์เตอร์ (Declaration of Pointer Variables)
type *variable_name ;
หรือ type *variable_name1, *variable_name2,... ,*variable_nameN ;
โดย type คือ ชนิดของตัวแปร เช่น int ,float ,char ฯลฯ โดยต้องเป็นชนิดเดียวกับของตัวแปรหรือข้อมูลที่พอยน์เตอร์นั้นเก็บตำแหน่งที่อยู่
* เป็นเครื่องหมายที่ระบุว่าเป็นตัวแปรพอยน์เตอร์
variable_name1, variable_name2,..., variable_nameN ชื่อตัวแปรพอยน์ตัวที่ 1 ถึง ตัวสุดท้ายที่ประกาศในการประกาศครั้งนี้
ตัวอย่าง int *ptr1, *prt2; char *word, *str1;
การกำหนดตำแหน่งของข้อมูลให้ตัวแปรพอยน์เตอร์
การกำหนดตำแหน่งที่เก็บข้อมูลในหน่วยความจำของตัวแปรทำได้โดยใช้เครื่องหมาย & (ampersand) นำหน้าชื่อตัวแปร นำมากำหนดให้เป็นค่าของพอยน์เตอร์เช่น
int num1 = 120; /* ประกาศและกำหนดค่าให้แก่ตัวแปร ในที่นี้เป็นตัวแปร ชื่อ num1 เป็นประเภท int โดยมีค่า เป็น 120 */
int *ptr1; /* ประกาศตัวแปรพอยน์เตอร์ ในที่นี้เป็นประเภท int เพราะใช้เก็บตำแหน่งของตัวแปรประเภท int */
ptr1 = &num1; /* กำหนดค่าตำแหน่งของตัวแปรให้เป็นค่าของพอยน์เตอร์ */
พอยน์เตอร์และอาร์เรย์
พอยเตอร์สามารถกำหนดให้เป็นอารฺเรย์ได้ โดยในอาร์เรย์จะมีตัวแปร พอยเตอร์เหมือนตัวแปรอาเรย์ทั่วไป อาเรย์พอยเตอร์จะเก็บแอดเดรสของตัวแปรตามชนิดข้อมูลของตัวแปร ในการกำหนดอาเรย์ของ พอยเตอร์มีรูปแบบดังนี้
data type *pointer name[size];
data type *pointer name[size];
พอยน์เตอร์ของพอยเตอร์
ตัวแปรพอยน์เตอร์อาจใช้เก็บค่าแอดเดรสของตัว แปรพอยเตอร์อื่น ซึ่งเก็บค่าแอดเดรสของตัวแปรหรือพอยเตอร์ตัวที่ 1 ชี้ไป แอดเดรสของพอยเตอร์ตัวที่ 2 ซึ่งพอยเตอร์ตัวที่ 2 ชี้ไปแอดเดรสตัวแปร
Set
เป็นโครงสร้างที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันเลย ตัวดำเนินการของเซ็ต ประกอบด้วย
1.set intersection
2.set union
3.set difference String
เป็นข้อมูลที่ประกอบด้วย ตัวอักษร ตัวเลข หรือเครื่องหมายที่เรียงติดต่อกันความยาวของสตริงจะถูกกำหนดโดยขนาดของสตริง ในการจองเนื้อที่นั้น ต้องทำการจองเนื้อที่ให้กับ \0 ด้วย
ไม่มีความคิดเห็น:
แสดงความคิดเห็น