I am trying to implement the STFT by MATLAB, and I read somewhere that we must do zeropadding to the subsequence of the signal before windowing it with a Gaussian window. What happens if we don't do any windowing?
You don't HAVE to zero pad, ever, unless there are constraints on the length of data required by the FFT algorithm - often it's a case of speed.
Many FFT's (like the Numerical Recipes code) require a power-of-two length series, some (like Kiss-FFT) only require it to be an even number, but being a multiple of 2,3 and 5 makes it run much faster.
In Matlab's case the algorithm is optimized for dealing with power-of-two length data. It usually pads the data to achieve this for you, though you control how many powers-of-two you wish to pad up to.