::.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
}