C – Pointer to Array

Pointers to Arrays:

  • Array variable stores address of memory block hence it is pointer type.
  • We can assign array variable directly to pointer variable and access the element using that pointer variable.
#include<stdio.h>
void main()
{
            int a[5] = {10,20,30,40,50}, i;
            int *p = a;
            p=a;
            for(i=0; i<5; i++)
            {
                        printf(“%d\t”,a[i]);
                        printf(“%d\t”,p[i]);
                        printf(“%d\t”,*(p+i));
                        printf(“%d\t”,*(i+p));
                        printf(“%d\n”,i[p]);
            }
}
#include<stdio.h>
int main()
{
            int arr[5] = {10,20,30,40,50};
            int *p = arr;
            printf(“%d \n”, *++p);
            printf(“%d \n”, *(p+2));
            printf(“%d \n”, *++p+3);
            return 0;
}
#include<stdio.h>
int main()
{
            int arr[5] = {10,20,30,40,50};
            int *ptr = arr;
            printf(“%d \n”, *(++ptr+1));
            return 0;
}
#include<stdio.h>
int main()
{
            int arr[5] = {10,20,30,40,50},i;
            int* ptr;
            ptr = arr;
            printf(“%u\n”, *++ptr + 3);
            printf(“%u\n”, *(ptr– + 2) + 5);
            printf(“%u\n”, *(ptr+3)-10);
            return 0;
}
#include<stdio.h>
int main()
{
            int arr[5] = {8, 3, 4, 9, 2},i;
            int* ptr;
            ptr = arr;
            printf(“%u\n”, *(–ptr+2) + 3);
            printf(“%u\n”, *(++ptr + 2) – 4);
            printf(“%u\n”, *(ptr– +1 ) + 2);
            return 0;
}
#include<stdio.h>
int main()
{
            int arr[5] = {5, 2, 7, 3, 6},i;
            int* ptr;
            ptr = arr;
            printf(“%d\n”, *(ptr++ + 1) – 2);
            printf(“%d\n”, *(ptr– + 3) – 10);
            printf(“%d\n”, *(–ptr + 2 ) + 5);
            return 0;
}
Scroll to Top