This is a basic question but I am facing problem with array size.
Here, I am printing size of array in both main function and size function. In main function it prints correct size of array as 40 but in size function to whom I have passed array as a argument printing size of array as 8.
I have tried with void size(arr[SIZE] 'or' arr[] 'or' arr[10]) but output remains unchanged.
Can anyone explain why this behaviour?
#include<stdio.h>
#define SIZE 10
void size(int arr[SIZE])
{
printf("func_size() : size of array is : [%d]\n",sizeof(arr));
}
int main()
{
{
int var = 10;
}
{
printf("%d", var);
}
return 0;
}
Output:
func_main() : size of array is : [40]
func_size() : size of array is : [4]