# C Program to find Smallest element in the array using pointers

Get array size n and n elements of array, then find the smallest element among those elements.

Sample Input 1:

5 5 7 9 3 1

sample Output 1:

1

Strongly recommended to Solve it on your own, Don't directly go to the solution given below.

#include<stdio.h> int main() { //write your code here }

#### Program or Solution

``` #include<stdio.h> #include<stdlib.h> int main() { int *a,n,i,min; printf("Enter size of array:"); scanf("%d",&n); a=calloc(sizeof(int),n); printf("Enter %d Elements:",n); for(i=0;i<n;i++) { scanf("%d",a+i); } min=*a; for(i=1;i<n;i++) { if(*(a+i)<min) { min=*(a+i); } } printf("%d",min); return 0; } ```

#### Program Explanation

calloc() is predefined function allocates memory of specified bytes.

Number of bytes is specified as (4,n), it means n 4 bytes.

Since we are using integers, specified as 4 bytes.

*a denotes first four bytes, *(a+1) denotes second four bytes, *(a+2) denotes third four bytes and so on., i is initialized to 0 and incremented by 1 at each iteration of both the for loops.

First for loop reads n input numbers from user and stores them in array a[] from location 0 to n-1 Initially assign the element located at 0 to max using min =*a.

using second for loop visit each location serially from 1 to n-1.

if the element located in any position is lesser than min, then assign the element as max by using min = *(a+i) finally min holds the minimum value in the list.