포인터 산술은 C 언어에서 더하기 빼기, 증가 등과 같은 산술 연산을 구현하는 데 사용됩니다. 더하기, 빼기, 증가 및 감소와 같은 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);