Skip to main content

Pointer arithmetic in C

#include<stdio.h>
int main()
{
int a=24;

int* ptra = &a;
char b='3';
char* ptrb=&b;
printf("%d\n\n",ptrb); //size of char is 1
ptrb++;
printf("%d\n\n",ptrb); // add 1 to &b
ptrb--;
printf("%d\n\n",ptrb+1); // add 1 to &b
printf("%d\n\n",ptrb-1); // subtract 1 to &b
printf("%d\n\n",ptrb+1); // add 1 to &b
printf("%d\n\n",ptrb-2); // subtract 2*1 to &b
printf("%d\n\n",ptra);
printf("%d\n\n",ptra+1); // size of int is 4 so, it add 4 to &a/ptra
printf("%d\n",ptra-2); // size of int is 4 so, it subtract 2*4 to &a/ptra
return 0;
}

Comments