# Write a ‘C’ Program to compute the sum of all elements stored in an array using pointers

C ProgrammingProgramming

#### Cyber Security : Go from Zero to Hero

Most Popular

60 Lectures 5.5 hours

#### Master C and Embedded C Programming- Learn as you go

Best Seller

66 Lectures 5.5 hours

#### C Programming from scratch- Master C Programming

Best Seller

60 Lectures 8 hours

C Program to compute sum of the array elements using pointers

#### Program :

``````
#include <stdio.h>
#include <conio.h>
void main() {
int numArray;
int i, sum = 0;
int *ptr;

printf("\nEnter 10 elements : ");

for (i = 0; i < 10; i++)
scanf("%d", &numArray[i]);

ptr = numArray; /* a=&a */

for (i = 0; i < 10; i++) {
sum = sum + *ptr;
ptr++;
}

printf("The sum of array elements : %d", sum);
}
``````

#### Output :

``````
Enter 10 elements : 11 12 13 14 15 16 17 18 19 20
The sum of array elements is 155
``````

#### Explanation of Program :

Accept the 10 elements from the user in the array.

``````
for (i = 0; i < 10; i++)
scanf("%d", &numArray[i]);
``````

We are storing the address of the array into the pointer.

``````
ptr = numArray; /* a=&a */
``````

Now in the for loop we are fetching the value from the location pointer by pointer variable. Using De-referencing pointer we are able to get the value at address.

``````
for (i = 0; i < 10; i++) {
sum = sum + *ptr;
ptr++;
}
``````

Suppose we have 2000 as starting address of the array. Then in the first loop we are fetching the value at 2000. i.e

``````
sum = sum + (value at 2000)
= 0   + 11
= 11
``````

In the Second iteration we will have following calculation –

``````
sum = sum + (value at 2002)
= 11  + 12
= 23
``````