วันอาทิตย์ที่ 5 กรกฎาคม พ.ศ. 2552

DTS03-2/07/2552

สรุป Pointer , Set and String
Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่(Address) ของตัวแปรที่อยู่ในหน่วยความจำ
การประกาศชนิดของตัวแปรพอยน์เตอร์
รูปแบบ
type *variable-name
* หมายถึง เป็นเครื่องหมายที่แสดงว่า ตัวแปรที่ตามหลังเครื่องหมายนี้เป็นตัวแปรพอยน์เตอร์
type หมายถึง ชนิดของตัวแปร
variable-name เป็นชื่อของตัวแปรที่ต้องการประกาศว่าเป็นชนิดพอยน์เตอร์
เครื่องหมายที่ใช้ทำงานกับตัวแปรพอยน์เตอร์
1. & หมายถึง เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้
ตัวอย่าง
char *prt;
หมายความว่า ประกาศค่าตัวแปร prt เป็นตัวแปรพอยน์เตอร์ ที่เก็บใช้ตำแหน่งเริ่มต้นที่จะเก็บ character
int *a;
หมายความว่า ประกาศค่าตัวแปร a เป็นตัวแปรพอยน์เตอร์ที่ใช้เก็บตำแหน่งเริ่มตนที่จะใช้เก็บ integer
2. เครื่องหมาย * มีการใช้สองลักษณะ คือ
- ใช้ในการประกาศ parameter ว่าเป็นตัวแปรแบบพอยน์เตอร์ เช่น
void swap(int *p,int *q)
{
.........................
}
- ใช้เป็น dereferencing operator จะใช้เมื่อต้องการนำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่ออกมาแสดง
การใช้ตัวแปรพอยน์เตอร์กับอะเรย์
ตัวแปรพอยน์เตอร์จะใช้อ้างถึค่าที่เก็บไว้ในตัวแปรชุดได้ ดังนี้
ตัวอย่าง char str[80], *pl;
pl = str;
บรรทัดที่ 1 เป็นการประกาศว่า หะพ เป็นตัวแปรชุดชนิด character 1 มิติ มีขนาดสมาชิก 80 สมาชิกและpl เป็นตัวแปรพอยน์เตอร์
บรรทัดที่ 2 เป็นการอ้างถึงข้อมูลที่เก็บไว้ในตัวแปรชุด str โดยการนำตำแหน่งที่อยู่ของตัวแปร str[0] ซึ่งเป็นสมาชิกตัวแรกไปเก็บไว้ใน ตัวแปรพอยน์เตอร์ pl เหมือนกันใช้คำส่ง
pl = &str[0]
การอ้างถึงตัวแปรชุด สามารถอ้างถึงโดยการเพิ่มหรือลดตัวแปรพอยน์เตอร์ได้ เช่น ต้องการอ้างถึงตัวแปร
str[4] ทำได้โดย *(pl+4)
โครงสร้างข้อมูลแบบเซ็ต
เป็นโครงสร้างข้อมูลที่ข้อมูลแตละตัวไม่มีความสัมพันธ์กัน ในภาษาซีจะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับภาษาปาสคาล
โครงสร้างข้อมูลแบบสตตริง
สตริง หรือ สตริงของอักขระ เป็นข้อมูลที่ประกอบบไปด้วย ตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่าง
การประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริงมีการนำไปใช้สร้างโปรแกรมประเภทบรรณาธิการข้อความ หรือโปรแกรมประเภทประมวลคำ ซึ่งมีการทำงานที่อำนวยความสะดวกหลายอย่าง เช่น การตรวจสอบข้อความ การจัดแนวข้อความ ในแต่ละย่อหน้า และการค้นหาคำ เป็นต้น
เช่น "This is String !" จะเป็นข้อมูลแบบสตริงยาว 16 อักขระ
สตริงกับอะแรย์
สตริง คือ อะเรย์ของอักขระ เช่น char a[6]
อาจจะเป็นอะเรย์ขนาด 6 ช่องอักขระ หรือ เป็นสตริงขนาด 5 อักขระก้อได้ โดยจุดสิ้นสุดของ string จะจบด้วย \0 หรือ null character เช่น
char a[]={'H','E','L','L','o','\0'};
char a[]="hello";
การกำหนดสตริง
การกำหนดสตริงทำได้หลายแบบ คือ
1. กำหนดเป็นสตริงที่มีค่าคงที่ (String Constants)
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์
สามารถกหนด ได้ทั้งนอกและในฟังก์ชัน เมื่อกำหนดไว้นอกฟังก์ชัน ซึ่งค่าคงตัวจะเป็นพอนยเตอร์ชี้ไปยังหน่อยความจำที่เก็บตัวมันเอง
การกำหนดค่าให้กับสตริงนั้น เราจะใช้เครื่องหมาย double quote (" ") เช่น "abc" คือ ชุดของอักขระที่มีขนาด4 (รวม \0ด้วย)

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

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