Its not msvc that sucks its c itself. c89 definately prohibits variable sized arrays. c99 may allow it. im not sure. I suppose if you turn on the c99 compile switch it may compile. What have you got against malloc?