POINTER
เป็นตัวแปรที่ทำหน้าที่เก็บตำแหน่ง address ของตัวแปรที่อยู่ในหน่วยความจำ มีรูปแบบ คือ

มีเครื่องหมายที่ใช้งานกับพอยน์เตอร์ 2 แบบคือ
1. เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่า address ที่เก็บไว้ในหน่วยความจำออกมาใช้ ตัวอย่างเช่น

int *b, a = 35;
b = &a;
หมายความว่า ตัวแปร b ซึ่งประกาศเป็นตัวแปรพอยน์เตอร์จะเก็บค่า 100 ซึ่งเป็น address ของ a
ข้อสังเกตที่ควรจำ คือ ตัวแปรที่มี เครื่องหมาย & ไม่สามารถนำมาคำนวณได้
2. เครื่องหมาย * มีการใช้งาน 2 ลักษณะ คือ ใช้ประกาศในพารามิเตอร์ว่าเป็นตัวแปรแบบพอยน์เตอร์ เช่น

SET AND STRING
โครงสร้างข้อมูลแบบเซต เป็นโครงสร้างที่ข้อมูลต่ละตัวไม่มีความสัมพันธ์กัน มีตัวดำเนินการซึ่งประกอบด้วย set intersecion, set union, set difference เป็นต้น
โครงสร้างข้อมูลแบบสตริง เป็นข้อมูลที่ประกอบไปด้วยตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่าง การำหนดสตริงสามารถทำได้หลายแบบ คือ
1. กำหนดเป็นสตริงที่มีค่าคงตัว ซึ่งกำหนดได้ทั้งนอก (หน่วยความจำที่เก็บสตริง) และในฟังก์ชัน (หน่วยความจำที่เก็บตัวมันเอง) ในการกำหนดค่าเราจะใช้เตรื่องหมาย (" ") เช่น "table" คือ ชุดของอักขระขนาด 6 ซึ่งรวม \0 ด้วย
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยน์เตอร์ ซึ่งสามารถกำหนดค่าคงตัวสตริงให้พอยน์เตอร์หรืออะเรย์ได้ในฐานะเริ่มต้น เช่น
main(){
char bac[] = "Good morning";
char *cptr = "How are u?";
printf("%s %s",bac,cptr);
}
เมื่อรันโปรแกรมแล้วจะได้ Good morning. How are u?
ซึ่งจะเห็นได้ว่า bac เป็นตัวแปรอะเรย์ ค่าที่ให้เป็นค่าข้อมูลในอะเรย์ ส่วน cptr เป็นพอยน์เตอร์ ค่าที่ให้เป็นค่า address เริ่มต้นของสตริง และยังสามารถเพิ่มลดค่าตัวแปรพอยน์เตอร์ได้ แต่สำหรับอะเรย์ทำไม่ได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น