I have some functions who take as parameters an int and and a char **. Basically the work in the same line of thought as main in c. I pass the number of arguments and the arguments themselves as strings.
So in my main program I had declared a char ** arguments and I allocated space with malloc and stored the arguments input from the user in there but then I tried to declare it as a char because malloc seemed unneeded and I was told that it was probably unneeded to alloacate space in the stack but I get an error now while compiling that the argument passed in the functions is incompatible type. How do I pass a 2d array as a pointer to a function?
Also I tried to change the parameter to a char but I think that you need the size of the second 
like so char right.
But the think is I dont want to pass a copy of an array of strings or am I being unreasonbale. I know that nowadays an array of string isn't much of space but I think it would be preferable to pass pointers and the thing is that I store the arguments in another function so if I pass a copy I wont succed anything
the function are like this
and the local variable which I pass isCode:int function (int c, char **v)