g++中数组定义时长度可以使用变量

数组定义时长度可以使用变量
不是很清楚了,自己写的是可以的,可能新版本编译器已经支持函数调用时动态分配数组空间了吧,使用g++是编译成功了。

动态长度的栈区数组是C99的特性。
在C99之前,在栈区分配动态大小的内存块是使用alloca函数,不过由于不在堆中,分配出来的内存不需要释放滴
int len;
char * pTmp = alloca(len + 2);//此时不能用free()去释放,会导致错误

原文地址:https://www.cnblogs.com/dongzhiquan/p/2348421.html