So what I want to do is something like that:
void function(char *ar[]){
int main(){
        char str[100][200];
        function(str);         //wrong

I mean I want to have a function to which i can pass a 2d array and it ll make some changes to it. I do not want a function with a 2d array argument cause i do not want to set the size of array explicitly, so I believe this is the only way. The thing is that


is wrong and I get a warning during compile:

test.c:9: warning: passing argument 1 of function from incompatible pointer type

so what I 'm asking is, what is the right way to call function on this array or/and if there is another way to do all this.