#include <stdio.h>
// Note that arr[] for fun is just a pointer even if square
// brackets are used
void fun(char arr[]) // SAME AS void fun(int *arr)
{
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("\nArray size inside fun() is %d", n);
}
// Driver program
int main()
{
char arr[] = {"hiten"};
unsigned int n = sizeof(arr)/sizeof(arr[0]);
printf("Array size inside main() is %d", n);
fun(arr);
return 0;
}
****************************
output is confusing : need explaination how is it happening
Array size inside main() is 6
Array size inside fun() is 8