เลขคณิตตัวชี้ถูกใช้ในการดำเนินการทางคณิตศาสตร์ เช่น การบวก การลบ การเพิ่มขึ้น ฯลฯ ในภาษาซี เลขคณิตตัวชี้มี 4 แบบ เช่น การบวก การลบ การเพิ่มขึ้น และการลดลง ในเครื่องแบบ 32 บิต ค่าจะเพิ่มหรือลดค่าทีละ 2 และจะเพิ่มหรือลบตัวเลข 2* ในเครื่อง 64 บิต จะเพิ่มหรือลดค่าทีละ 4 และจะเพิ่มหรือลบตัวเลข 4*
นี่คือตัวอย่างเลขคณิตตัวชี้ในภาษา C
ตัวอย่าง
#include<stdio.h> int main() { int val = 28; int *pt; pt = &val; printf("Address of pointer : %u\n",pt); pt = pt + 5; printf("Addition to pointer : %u\n",pt); pt = pt - 5; printf("Subtraction from pointer : %u\n",pt); pt = pt + 1; printf("Increment to pointer : %u\n",pt); pt = pt - 1; printf("Decrement to pointer : %u\n",pt); return 0; }
ผลลัพธ์
Address of pointer : 3938439860 Addition to pointer : 3938439880 Subtraction from pointer : 3938439860 Increment to pointer : 3938439864 Decrement to pointer : 3938439860
ในโปรแกรมข้างต้น การคำนวณทางคณิตศาสตร์ (การบวก การลบ ฯลฯ) จะถูกนำไปใช้กับตัวแปรตัวชี้ *pt.
int *pt; pt = &val; printf("Address of pointer : %u\n",pt); pt = pt + 5; printf("Addition to pointer : %u\n",pt); pt = pt - 5; printf("Subtraction from pointer : %u\n",pt); pt = pt + 1; printf("Increment to pointer : %u\n",pt); pt = pt - 1; printf("Decrement to pointer : %u\n",pt);