14 กรกฎาคม, 2552

DTS 03-01/07/2552

สรุป
พอยน์เตอร์ (pointer) พอยน์เตอร์เป็นตัวแปรที่ใช้เก็บตำแหน่ง (แทนที่จะเก็บค่า) ของข้อมูลเช่น ตัวแปรหรือสมาชิกของอะเรย์ พอยเตอร์ในภาษาซีมีประโยชน์มากมาย เช่น เราสามารถใช้พอยน์เตอร์ในการ ส่งข้อมูลไปมาระหว่างฟังก์ชันกับจุดที่เรียกใช้ ฟังก์ชัน พอยน์เตอร์ทำให้ฟังก์ชันสามารถส่งค่ากลับคืนมาได้หลายค่าโดยผ่านอาร์กิวเมนต์ของฟังก์ชัน นอกจากนั้นเรายังใช้พอยน์เตอร์ในการเรียกใช้ฟังก์ชันที่ถูกส่งมาเป็นอาร์กิวเมนต์ของอีกฟังก์ชันหนึ่งนั่นคือ เราสามารถส่งฟังก์ชันหนึ่งเป็นอาร์กิวเมนต์ให้อีกฟังก์ชันหนึ่งได้
พอยน์เตอร์มีความใกล้เคียงกับอะเรย์ และเป็นวิธีหนึ่งที่เราจะอ้างถึงสมาชิกของอะเรย์ได้ยิ่งไปว่านั้น พอยต์เตอร์ยังจัดเตรียมวิธีการที่สะดวกสบาย ในการใช้อะเรย์หลายมิติ โดยแทนที่อะเรย์หลายมิติ 1 ตัวด้วยอะเรย์ของพอยน์เตอร์ที่มีมิติน้อยลง คุณลักษณะนี้ทำให้เราเก็บสตริงหลายๆ ตัวไว้ในอะเรย์เพียงตัวเดียวได้แม้ว่าสตริงเหล่านั้นจะมีความยาวไม่เท่ากัน
เครื่องหมายที่ใช้ในการทำงานกับตัวแปรพอยน์เตอร์
-เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ (address) ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้
-เครื่องหมาย * เป็นเครื่องหมายที่จะใช้เมื่อต้องการให้นำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่ออกมาแสดงให้ดู

แบบฝึกหัด

1.ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
ตอบ Array 1 มิติ คือ float nettotal[4];
และ Array 2 มิติ คือ int name[5][6];

2.ให้นักศึกษาหาค่าของ A[2] , A[6] จากค่าA={2,8,16,24,9,7,3,8,}
ตอบ A[2] คือ 16
A[6] คือ 3

3.จากค่าของ int a [2][3] = {{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0]และa[0][2]
ตอบ a[1][0] คือ 3
a[0][2] คือ 4

4.ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records
ตอบ struct STD
{
char code[11];
char name[10];
char lastname[20];
int midterm;
int final;
char grade;
}student;

5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
ตอบ array หมายถึง ตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน เช่น เก็บ ข้อมูล char ไว้กับ char เก็บ int ไว้กับ int ไม่สามารถเก็บข้อมูลต่างชนิดกันได้ เช่น char กับ int เรียก array อีกอย่างว่าหน่วยความจำแบ่งเป็นช่อง การกำหนดสมาชิกชิกของ array จะเขียนภายในเครื่องหมาย [ ]
pointer หมายถึง ตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้ ตำแหน่งที่อยู่ สัญลักษณ์ของ pointer จะแทนด้วยเครื่องหมาย *

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

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