I have been teaching myself programming for couple of years, and I was sure that if you need array declaration of a variable number you need to use malloc or
malloc
It's okay to use the feature if you are using c99.
You have to be very careful about the value of size. a large value will overflow your stack, and your process may go insane.