C program to access array elements using pointers

In this article, we are going to learn the C program to access array elements using pointers. We will take input from the user in an array using pointers and iterate on this array using pointers. We will learn this one by one using each sample code.

1. C program to access array elements using pointers


In this example, we are taking an array input from the user using a pointer and iterating over the element of an array using a pointer and accessing an element using a pointer, and printing it on the screen.

C Program to access array elements using pointers

#include <stdio.h>

#define SIZE 100 

int main()
{
    int arr[SIZE];
    int size;
	
    int * ptr = arr;    

    printf("Please enter size of array(max 100): ");
    scanf("%d", &size);

    printf("Please enter elements of array:\n");
    for (int i = 0; i < size; i++)
    {
        scanf("%d", ptr);
        ptr++;   
    }

   //Reset array pointer back to index 0
    ptr = arr;

    printf("The elements entered by user are: \n");
    for (int k = 0; k < size; k++)
    {
        printf("Index [%d]= %d, \n",k, *ptr);
        ptr++;
    }

    return 0;
}

Output

Please enter size of array(max 100): 5
Please enter elements of array:
10
20
30
40
50
The elements entered by user are: 
Index [0]= 10, 
Index [1]= 20, 
Index [2]= 30, 
Index [3]= 40, 
Index [4]= 50,

2. C program to access array elements using pointers


In the above program, we are using the increment operator (ptr++) to move the index of the array. But here we will use another approach that can be used, which is just adding to index with each iteration.

#include <stdio.h>

#define SIZE 100 

int main()
{
    int arr[SIZE];
    int size;
	
    int * ptr = arr;    

    printf("Please enter size of array(max 100): ");
    scanf("%d", &size);

    printf("Please enter elements of array:\n");
    for (int i = 0; i < size; i++)
    {
		scanf("%d", (ptr + i));   
    }

   //Reset array pointer back to index 0
    ptr = arr;

    printf("The elements entered by user are: \n");
    for (int k = 0; k < size; k++)
    {
        printf("Index [%d]= %d, \n",k, *ptr);
        ptr++;
    }

    return 0;
}

Output

Please enter size of array(max 100): 5
Please enter elements of array:
1
2
3
4
5
The elements entered by user are: 
Index [0]= 1, 
Index [1]= 2, 
Index [2]= 3, 
Index [3]= 4, 
Index [4]= 5,

3. C program to access array elements using pointers


In this example, We are asking user to input array elements using a pointer. We are iterating over each element of the array and accessing each element by using indexing.

#include <stdio.h>

#define SIZE 100 

int main()
{
    int arr[SIZE];
    int size;
	
    int * ptr = arr;    

    printf("Please enter size of array(max 100): ");
    scanf("%d", &size);

    printf("Please enter elements of array:\n");
    for (int i = 0; i < size; i++)
    {
		scanf("%d", &ptr[i]);    
    }

    printf("The elements entered by user are: \n");
    for (int k = 0; k < size; k++)
    {
        printf("Index [%d]= %d, \n",k, *ptr);
        ptr++;
    }

    return 0;
}

Output

Please enter size of array(max 100): 5
Please enter elements of array:
9
8
7
6
5
The elements entered by user are: 
Index [0]= 9, 
Index [1]= 8, 
Index [2]= 7, 
Index [3]= 6, 
Index [4]= 5,