วันเสาร์ที่ 4 กรกฎาคม พ.ศ. 2552

สรุป LECTURE3

DTS: 03-01-07-2552

เรื่อง Pointer

Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address)
ของตัวแปรที่อยู่ในหน่วยความจำ

การประกาศชนิดของตัวแปรพอยน์เตอร์
รูปแบบ

type *variable-name
type
หมายถึง ชนิดของตัวแปร
* หมายถึง เป็นเครื่องหมายที่แสดงว่า ตัวแปรที่ตามหลังเครื่องหมายนี้เป็น ตัวแปรพอยน์เตอร์
variable-name
เป็นชื่อของตัวแปรที่ต้องการประกาศว่าเป็นชนิดพอยน์เตอร์

ตัวอย่าง
char *prt หมายความว่า ประกาศว่าตัวแปร prt เป็นตัวแปรพอยน์เตอร์

ที่ใช้เก็บตำแหน่งเริ่มต้นที่จะเก็บ char

เครื่องหมายที่ใช้ทำงานกับตัวแปรพอยน์เตอร์

1. เครื่องหมาย &
เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้
2. เครื่องหมาย * มีการใช้งาน 2
ลักษณะ คือ
- ใช้ในการประกาศ parameter
ว่าเป็นตัวแปรแบบพอยน์เตอร์
- ใช้เป็น dereferencing operator
จะใช้เมื่อต้องการนำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่ออกมาแสดง


เรื่อง Set and String

โครงสร้างข้อมูลแบบเซ็ต

เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มี ความสัมพันธ์กัน ในภาษาซี จะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษา ปาสคาล แต่สามารถใช้หลักการของการดำเนินงาน
แบบเซ็ตมาใช้ได้ตัวดำเนินการของเซ็ต (Set operators) ประกอบด้วย
- set intersection
- set union
- set difference
เป็นต้น

โครงสร้างข้อมูลแบบสตริง

สตริง (String) หรือ สตริงของอักขระ (Character String)
เป็นข้อมูลที่ประกอบไปด้วย ตัวอักษร ตัวเลขหรือ เครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่าง

สตริงกับอะเรย์

สตริง คือ อะเรย์ของอักขระ
เช่น 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 ด้วย)


Example

#define NME “Semi”
main ( ){
char *cpntr;
cpntr=NME;
printf(“con\n”);
printf(“%s, %u, %c\n”, “con”, “duc”,*“tor”);
printf(““%s, %u, %c\n”, NME, NME,*NME);
printf(““%s, %u, %c\n”, cpntr, cpntr,*cpntr);
}

ผลการรันโปรแกรม
con
con, 37, t
Semi, 16, S
Semi, 16, S






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

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