DTS03-01/07/2009

..::: สรุป Data Structure เรื่อง Pointer และ Set and String :::..

::.Pointer หมายถึง ตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้ ตำแหน่งที่อยู่ สัญลักษณ์ของ pointer จะแทนด้วยเครื่องหมาย *ถ้าเก็บข้อมูลเลขจำนวนเต็ม (ชนิด int จะใช้พื้นที่หน่วยความจำเครื่อง 2 byte ) ฉะนั้นตำแหน่ง address จะห่างกันไปทีละ 2 ช่อง ตัวอย่างเช่น fff0 àfff2 ถ้าเป็นข้อมูลชนิด char จะใช้พื้นที่ memory 1 byte ก็จะห่างกัน 1 ช่อง เช่น fffo àfff1pointer จะใช้พื้นที่มากกว่า array เพราะต้องเพิ่มพื้นที่ส่วนหนึ่งสำหรับเก็บตำแหน่งที่อยู่ของข้อมูลตัวถัดไป

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

char *prt;

หมายความว่า ประกาศค่าตัวแปร prt เป็นตัวแปรพอยน์เตอร์ ที่เก็บใช้ตำแหน่งเริ่มต้นที่จะเก็บ character

int *a;


หมายความว่า ประกาศค่าตัวแปร a เป็นตัวแปรพอยน์เตอร์ที่ใช้เก็บตำแหน่งเริ่มตนที่จะใช้เก็บ integer

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

void swap(int *p,int *q)
{

::.โครงสร้างข้อมูลแบบเซต (set) เป็นโครงสร้างที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันเลย

::.โครงสร้างข้อมูลแบบสตริงค์ (String) เป็นลักษณะของข้อมูลที่มาจากกลุ่มของตัวอักษร หรือเป็น Array of Character นำมาใช้ในการเก็บข้อมูลประเภท ชื่อ,นามสกุล, ที่อยู่ หรือเบอร์โทรศัพท์ ในภาษาซีไม่มีโครงสร้างของตัวแปรชนิดนี้มาให้เป็นมาตรฐาน ซึ่งเราจะต้องประยุกต์สร้างโครงสร้างของตัวแปรเอง

::.การส่งผ่านค่าสตริงค์ฟังก์ชัน การส่งผ่านค่าสตริงในฝั่งของฟังก์ชันที่ถูกเรียกใช้งาน พารามิเตอร์ของฟังก์ชัน จะไม่ระบุขนาดของอาร์เรย์ เนื่องจากไม่สามารถทราบได้แน่นอนว่ามีขนาดเท่าใด

::.ฟังก์ชันที่ใช้งานกับข้อมูลแบบสตริงค์ ฟังก์ชันที่ทำงานกับข้อมูลแบบสตริงมีอยู่มากมายเช่น การคัดลอก การเปรียบเทียบ การทำให้เป็นตัวอักษรเล็ก หรือใหญ่ ต่างๆ ซึ่งอยู่ใน “string.h” ก่อนนำฟังก์ชันมาใช้งาน ต้องมีการกำหนดไว้ใน include directive ก่อนเสมอคือ


#include
void main() {
Statement

Statement
}