points
in not the copy of original array passed as argument. It's the pointer to the array passed. Just populate it and everything will do fine.
The problem in this type is that you don't know the actual size of array passed as argument. The array size should have been passed as arguments. There is no way to know the size allocated to the array.
The following code verifies it:
void func(int a[])
{
printf("%d",sizeof(a)); //prints 4, so a is a type of pointer
}
int main()
{
int a[5];
printf("%d",sizeof(a)); //prints 20
func(a);
}