Tell me more ×  Possible Duplicate: How to find the sizeof(a
pointer pointing to an array)  I want to pass an array to a
function such that if I use the sizeof operator on array inside
the function body, I should get the actual size of the array and
not that of a pointer. For e.g -  int main()     int arr[] =
{1,2,3,4,5,6,7,8,9,0};      printf("Array size = %d\n",
sizeof(arr)/sizeof(int)); ---> O/P = 40/4 = 10   void func(int
arr[])     printf("Array size = %d\n", sizeof(arr)/sizeof(int));
--->O/P = 4/4 = 1  The printf statement in the main function
prints 10 while the one in func prints 1. Is it possible to do
so in C language?  EDIT: I know other alternatives like wrapping
the array into a struct etc. Actually, I was trying to solve a
problem given on TopCoders site and the requirement of one
problem is that I have to write a function(requirement given
below). Now I am confused that how I am going to calculate the
size of the int[] donations array inside int maxDonations(int[]
donations) function.  Class: