ตัวชี้เป็นตัวแปรที่เก็บที่อยู่ของตัวแปรอื่น
การประกาศตัวชี้ การเริ่มต้น และการเข้าถึง
พิจารณาข้อความต่อไปนี้ −
int qty = 179;

การประกาศตัวชี้
int *p;
'p' คือตัวแปรตัวชี้ที่เก็บที่อยู่ของตัวแปรจำนวนเต็มอื่น
การเริ่มต้นของตัวชี้
ตัวดำเนินการที่อยู่ (&) ใช้เพื่อเริ่มต้นตัวแปรตัวชี้
int qty = 175; int *p; p= &qty;

มาลองพิจารณาตัวอย่างว่าพอยน์เตอร์มีประโยชน์อย่างไรในการเข้าถึงองค์ประกอบในอาร์เรย์ของสตริง
ในโปรแกรมนี้ เรากำลังพยายามเข้าถึงองค์ประกอบที่มีอยู่ ณ ตำแหน่งใดตำแหน่งหนึ่ง สามารถค้นหาตำแหน่งได้โดยใช้การดำเนินการ
โดยการเพิ่มตัวชี้ที่เพิ่มล่วงหน้าไปยังสตริงตัวชี้ที่เพิ่มล่วงหน้าและการลบ 32 คุณจะได้รับค่าที่ตำแหน่งนั้น
ตัวอย่าง
#include<stdio.h>
int main(){
char s[] = {'a', 'b', 'c', '\n', 'c', '\0'};
char *p, *str, *str1;
p = &s[3];
str = p;
str1 = s;
printf("%d", ++*p + ++*str1-32);
return 0;
} ผลลัพธ์
77
คำอธิบาย
p = &s[3]. i.e p = address of '\n';
str = p; i.e str = address of p;
str1 = s; str1 = address of 'a';
printf ("%d", ++*p + ++*str1 - 32);
i.e printf("%d", ++\n + a -32);
i.e printf("%d", 12 + 97 -32);
i.e printf("%d", 12 + 65);
i.e printf("%d", 77);
Thus 77 is outputted