I am learning C and I am confused why the matrix in main changes in the function change. I am assuming that the matrix was passed in the function change as ma[10][10] and that matrix m shouldn't change because I declared it in main, right? Can someone explain what is happening in this case? How do I fix it?
thx for help
void change(int ma[2][3]){
    int l, c;
    for(l=0; l<2; l++){
        for(c=0; c<3; c++){
            ma[l][c]=1;
        }
    }
}
int main()
{
    int m[2][3], l, c;
    for(l=0; l<2; l++){
        for(c=0; c<3; c++){
            m[l][c]=0;
        }
    }
    change(m);
    for(l=0; l<2; l++){
        for(c=0; c<3; c++){
            printf("%d", m[l][c]);
        }
        printf("\n");
    }
    return 0;
}
I was expecting to see this:
000
000
What i get:
111
111
 
     
    