sizeof(arr) is 4.. o.e the number of elements in the array size of *arr is the size of any normal pointer i.e 4(in case of 32-bit compilers) so the answer is 1
On Sat, Jul 24, 2010 at 9:52 AM, ravi gupta <[email protected]> wrote: > > > On Sat, Jul 24, 2010 at 9:40 AM, tarak mehta <[email protected]>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 [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<algogeeks%[email protected]> >> . >> 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]<algogeeks%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- With Regards, Jalaj Jaiswal +919026283397 B.TECH IT IIIT ALLAHABAD -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
