Write a ‘C’ Program to compute the sum of all elements stored in an array using pointers
C Program to compute sum of the array elements using pointers
Program :
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10];
int i,sum=0;
int *ptr;
printf("Enter 10 elements:n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
ptr = a; /* a=&a[0] */
for(i=0;i<10;i++)
{
sum = sum + *ptr; //*p=content pointed by 'ptr'
ptr++;
}
printf("The sum of array elements is %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",&a[i]);
We are storing the address of the array into the pointer.
ptr = 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
No comments:
Post a Comment