array can not pass by function in c
#include <stdio.h>
struct a_s {
   int a[20];
};
void foo (struct a_s a)
{
   size_t length = sizeof a.a / sizeof *a.a;
   for(size_t i = 0; i < length; i++)
   {
       printf("%d\n",a.a[i]);
   }
}
int main()
{
   struct a_s array;
   size_t length = sizeof array.a / sizeof *array.a;
   for(size_t i = 0; i < length; i++)
   {
       array.a[i] = 15;
   } 
   foo(array);
}