board is an array of chars, so board[0][0] is a char and &board[0][0] is a char*, rather than char* array[10][10] (which is a 10*10 array of char pointers, by the way).
You can make it work the same way as printboard. Arrays are passed by reference. If you think that you need a pointer to an array, though, the argument is char (*array)[10][10] and you need to pass &board and access elements with (*array)[x][y], I think..
I will try that, I am poiting to the array because I want the changes of the array to make it back to the main function. The generateboard function will only change a copy of the original array if I just pass it in like with the printfboard function.
Now the program is still crashing and the output is horrable. I get really wierd symbols filling the console and my computer starts beeping. Never had that before
Here is my up-to-date code. Yes I know that array is not a very good variable name, but this is just a test program because I am trying to get this to work for a different application.
Thankyou it works now. I am guessing that i had copied the first for loop with the the problem you pointed out and didn't notice I had that problem in two places.