When I run the following program, I get different array sizes. I tired different ways but the result is the same, what could io be doing wrong ?
#include<stdio.h>
void array_size(char *a[])
{
    printf("Func Array Size: %d\n", sizeof(a));
}
int main()
{
    char *str_array[]={"one", "two", "three"};
    printf("Array Size: %d\n", (int)sizeof(str_array));
    array_size(str_array);
    return 0;
}
 
     
    