in function it is pointer pointing to an array of 6 elements , pointer have
size equal to word size in the system which is 4bytes for 32 bit operating
system

in main it is array of 6 integers so 24 bytes

Don't get confused with same names, see the scope and type of arr in both

On Fri, Jul 1, 2011 at 11:28 AM, shady <sinv...@gmail.com> wrote:

> why is the value of sizeof(arr) in maxdiff function = 4 ?
> where as in main function it is 24
>
>
> On Fri, Jul 1, 2011 at 11:05 AM, Vishal Thanki <vishaltha...@gmail.com>wrote:
>
>> Rujin is right, here is the code which compiles..
>>
>> vishal@ubuntu:~/progs/c\ 11:04:37 AM >$ cat alg.c
>> #include<stdio.h>
>> int maxdiff(int arr[]);
>> int main()
>> {
>>        int p,arr[]={2,4,1,6,23,4};
>>        p=maxdiff(arr);
>>        printf("\n MAX Diff is \t %d",p);
>>         return 0;
>> }
>> int maxdiff(int arr[])
>> {
>>        int diff=0,len,i,j;
>>        unsigned p;
>>        len=sizeof(arr)/sizeof(arr[0]);
>>        for(i=0;i<len;i++)
>>        {
>>                for(j=i;j<len;j++)
>>                {
>>                        p=arr[j]-arr[i];
>>                        if((p-diff)>0)
>>                                diff=p;
>>                }
>>        }
>>        return diff;
>> }
>> vishal@ubuntu:~/progs/c\ 11:04:40 AM >$ gcc alg.c -Wall
>>
>>
>> On Fri, Jul 1, 2011 at 7:20 AM, varun pahwa <varunpahwa2...@gmail.com>
>> wrote:
>> > actually u r passing arr,and receiving arr[] which actually receives the
>> > first element address. So arr will be a reference to first address. so
>> its
>> > size will be 4  bytes and arr size will also be 4 bytes. so ur len
>> contains
>> > only 1. so ur loop runs only once.i hope it clears.
>> >
>> > On Thu, Jun 30, 2011 at 4:49 PM, ashwini singh <asingh...@gmail.com>
>> wrote:
>> >>
>> >> still it's not working
>> >>
>> >> On Thu, Jun 30, 2011 at 4:42 PM, Rujin Cao <drizzle...@gmail.com>
>> wrote:
>> >>>
>> >>> int maxdiff(int );
>> >>> int maxdiff(int arr[]);
>> >>> The signatures of  maxdiff function are  not the same.
>> >>>
>> >>> On Fri, Jul 1, 2011 at 6:53 AM, ashwini singh <asingh...@gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> this code gives an error ([Warning] passing arg 1 of `maxdiff' makes
>> >>>> integer from pointer without a cast) . Please explain the reasons.
>> >>>>
>> >>>>
>> >>>> #include<stdio.h>
>> >>>> #include<conio.h>
>> >>>> int maxdiff(int );
>> >>>> main()
>> >>>> {
>> >>>>       int p,arr[]={2,4,1,6,23,4};
>> >>>>       p=maxdiff(arr);
>> >>>>       printf("\n MAX Diff is \t %d",p);
>> >>>>       getch();
>> >>>>       }
>> >>>> int maxdiff(int arr[])
>> >>>> {
>> >>>>     int diff=0,len,i,j;
>> >>>>     unsigned p;
>> >>>>     len=sizeof(arr)/sizeof(arr[0]);
>> >>>>     for(i=0;i<len;i++)
>> >>>>     {
>> >>>>       for(j=i;j<len;j++)
>> >>>>       {
>> >>>>          p=arr[j]-arr[i];
>> >>>>          if((p-diff)>0)
>> >>>>          diff=p;
>> >>>>       }
>> >>>>     }
>> >>>>     return diff;
>> >>>>     }
>> >>>>
>> >>>> --
>> >>>> with regards,
>> >>>> Ashwini kumar singh
>> >>>> ECE Final yr.
>> >>>> NIT Allahabad
>> >>>>
>> >>>>
>> >>>> --
>> >>>> You received this message because you are subscribed to the Google
>> >>>> Groups "Algorithm Geeks" group.
>> >>>> To post to this group, send email to algogeeks@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.
>> >>>
>> >>> --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Algorithm Geeks" group.
>> >>> To post to this group, send email to algogeeks@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.
>> >>
>> >>
>> >>
>> >> --
>> >> with regards,
>> >> Ashwini kumar singh
>> >> ECE Final yr.
>> >> MNNIT Allahabad
>> >> Mobile: 7505519402
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Algorithm Geeks" group.
>> >> To post to this group, send email to algogeeks@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.
>> >
>> >
>> >
>> > --
>> > Varun Pahwa
>> > B.Tech (IT)
>> > 7th Sem.
>> > Indian Institute of Information Technology Allahabad.
>> > Ph : 09793899112 ,08011820777
>> > Official Email :: rit2008...@iiita.ac.in
>> > Another Email :: varunpahwa.ii...@gmail.com
>> >
>> > People who fail to plan are those who plan to fail.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Algorithm Geeks" group.
>> > To post to this group, send email to algogeeks@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.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@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.
>>
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@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.
>



-- 
Sunny Aggrawal
B-Tech IV year,CSI
Indian Institute Of Technology,Roorkee

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@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