พอยน์เตอร์ (Pointer) คือตัวแปรที่จัดเก็บที่อยู่ของตัวแปรอีกตัวหนึ่ง
คุณสมบัติของพอยน์เตอร์
พอยน์เตอร์ประหยัดพื้นที่หน่วยความจำ
เวลาทำงานเร็วกว่า เพราะเข้าถึงตำแหน่งหน่วยความจำโดยตรง
เข้าถึงหน่วยความจำได้อย่างมีประสิทธิภาพ
จัดสรรและปล่อยหน่วยความจำแบบไดนามิก
ใช้ร่วมกับโครงสร้างข้อมูล (Data Structures)
ไวยากรณ์สำหรับพอยน์เตอร์:
pointer = &variable;
ตัวอย่าง
โปรแกรม C สำหรับพอยน์เตอร์:
#include <stdio.h>
int main() {
int x = 40; // ประกาศตัวแปร
int *p; // ประกาศตัวแปรพอยน์เตอร์
p = &x; // จัดเก็บที่อยู่ของ x ในพอยน์เตอร์ p
printf("address in variable p is:%d\n", p); // เข้าถึงที่อยู่
printf("value in variable p is:%d\n", *p); // เข้าถึงค่า
return 0;
}ผลลัพธ์
เมื่อรันโปรแกรม จะได้ผลลัพธ์ดังนี้:
Address in variable p is: 5ff678 Value in variable p is: 40
ตัวดำเนินการ * ทำหน้าที่ 2 อย่าง:
ประกาศพอยน์เตอร์
คืนค่าของตัวแปรที่อ้างอิง
ตัวดำเนินการ & ทำหน้าที่อย่างเดียว:
คืนที่อยู่ของตัวแปร