포인터 산술은 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);