วันพุธที่ 1 กรกฎาคม พ.ศ. 2552

DTS03-01-07-2552

สรุปสิ่งที่ได้จากการเรียน เรื่อง Pointer และ Set

POINTER

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


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

2. เครื่องหมาย * มีการใช้งาน 2 ลักษณะ คือ ใช้ประกาศในพารามิเตอร์ว่าเป็นตัวแปรแบบพอยน์เตอร์ เช่น

และใช้เป็น dereferencing operator ซึ่งจะใช้เมื่อต้องการนำค่า address ที่ตัวแปรนั้นชี้อยู่ออกมาแสดง

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 เริ่มต้นของสตริง และยังสามารถเพิ่มลดค่าตัวแปรพอยน์เตอร์ได้ แต่สำหรับอะเรย์ทำไม่ได้

ไม่มีความคิดเห็น:

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