the code below changes the values of arr in function check and prints out values of "2", even though I didn't pass the array in check function in a pointer. How is that possible?
 #include <stdio.h>
 #include <stdlib.h>
 void check(int n,int array[]);
 int main()
 {
     int arr[]={1,2,3,4};
     int i;
     check(4,arr);
     for(i=0;i<4;i++){
         printf("%d\n",arr[i]);
     }
     return 0;
 }
 void check(int n,int array[])
 {
     int j=0;
     while(j<n){
         array[j]=2;
         j++;
     }
 }
 
     
     
    