/*
This program is to pass the entire array to a function
*/
#include <stdio.h>
#include <conio.h>
int maximum(int[],int); //function prototype, 1st parameter is array and the second is integerint main()
{
int a[100],i,n,max=0;
printf("Enter the numbers");
scanf("%d",&n); //get the index number
for(i=0;i<n;i++) //get the array elements
{
scanf("%d",&a[i]);
}
max=maximum(a,n); //function call
printf("Maximum number is %d",max);
getch();
return 0;
}int maximum(int b[],int a) //function implementation
{
int i,max=b[0];
for(i=0;i<a;i++)
if(b[i]>max)
max=b[i];
return max;
}
In the function call ie
max=maximum(a,n) where a is the array and n is the number of array elements
the above line can be written as
max = maximum(&a[0],n)
since the array is just a memory address, it is enough to mention the base address (address of the first element) of the array
so the array name is just equivalent to the base address
in the above example
a means &a[0]
please give some more examples and details
ReplyDelete