能的,用new,例:inta;cin>>a;int*s=newint[a];new和delete运算符用于动态分配和撤销内存的运算符new用法:1.开辟单变量地址空间1)newint;//开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int*a=newint即为将一个int类型的地址赋值给整型指针a.2)int*a=newint[5]作用同上,但是同时将整数赋值为52.开辟数组空间一维:int*a=newint[100];开辟一个大小为100的整型数组空间二维:int**a=newint[5][6]三维及其以上:依此类推.一般用法:new类型[初值]delete用法:1.int*a=newint;deletea;//释放单个int的空间2.int*a=newint[5];delete[]a;//释放int数组空间要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.用new和delete可以动态开辟,撤销地址空间.在编程序时,若用完一个变量(一般是暂时存储的数组),下次需要再用,但却又想省去重新初始化的功夫,可以在每次开始使用时开辟一个空间,在用完后撤销它.