No.

Non confondere le cose: nel codice che ti ho postato io:
_viene letto un carattere
_il buffer viene aumentato di un carattere
_viene aggiunto il carattere in fondo al buffer

Nel codice che hai postato tu
_hai un buffer di dimensioni fisse
_con gets lo riempi e probabilmente lo superi causando un segmentation fault
_se per caso non avessi riempito il buffer e il programma non crasha, riduci la dimensione del buffer a quella della stringa