On Sat, Jul 24, 2010 at 9:40 AM, tarak mehta <tarakmeht...@gmail.com> wrote:

> int arr[]={1,2,3,4};
> k=sizeof(arr)/sizeof(*arr);
> value of k=4;
>
> however
>
>
> void hell(int arr[]);
> main()
> {
>        int arr[]={1,2,3,4};
>        hell(arr);
> }
> void hell(int arr[])
> {
> printf("%d",sizeof(arr)/sizeof(*arr));
> }
>
>
> output of hell() is 1. why???
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
> When array is passed as an argument, only a pointer to the first element of
the array is passed. Therefore the parameter int arr[] in void hell(int
arr[]) is just a pointer, hence the result .
I hope it answers your query.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to