There is nothing wrong per-se about using memory on the stack, though you need to be careful about allocating anything of decent size.
For instance:
// inside some function ...
int blah[1000];
// ...code using blah
might work fine, or you could run out of space and fail silently.
I would suggest using new
/ malloc()
if you need a big chunk of memory, but it's fine to use small arrays on the stack.