พอยน์เตอร์มีแนวคิดมากมายแต่ง่าย และมีความสำคัญต่อการเขียนโปรแกรม C
แนวคิดของตัวชี้เลขคณิต 2 แบบอธิบายไว้ด้านล่าง ซึ่งได้แก่ การบวกและการลบตัวชี้ C ตามลำดับ
การเพิ่มตัวชี้ C
การเพิ่มตัวชี้ C หมายถึงการเพิ่มค่าให้กับตัวแปรตัวชี้
สูตรมีดังนี้ −
new_address= current_address + (number * size_of(data type))
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับการเพิ่มตัวชี้ C -
#include<stdio.h> int main(){ int num=500; int *ptr;//pointer to int ptr=#//stores the address of number variable printf("add of ptr is %u \n",ptr); ptr=ptr+7; //adding 7 to pointer variable printf("after adding add of ptr is %u \n",ptr); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
add of ptr is 6422036 after adding add of ptr is 6422064
การลบตัวชี้ C
มันลบค่าจากตัวแปรตัวชี้ การลบตัวเลขใดๆ จากตัวแปรพอยน์เตอร์จะให้ที่อยู่
สูตรมีดังนี้ −
new_address= current_address - (number * size_of(data type))
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับการลบตัวชี้ C -
#include<stdio.h> int main(){ int num=500; int *ptr;//pointer to int ptr=#//stores the address of number variable printf("addr of ptr is %u \n",ptr); ptr=ptr-5; //subtract 5 to pointer variable printf("after sub Addr of ptr is %u \n",ptr); return 0; }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
addr of ptr is 6422036 after sub Addr of ptr is 6422016