当我只定义一个柔性数组时,发现它并不能根据我的需求扩展长度,反而像是一个固定长度一样,是怎么回事,求解答?
#include<bits/stdc++.h>
using namespace std;
struct xueshen
{
int n;
int arr[0];
};
int main()
{
ios::sync_with_stdio(0);
int m;
struct xueshen sd;
cin>>m>>sd.n;
for(int i=0;i<sd.n;i++)
{
cin>>sd.arr[i];
}
sort(sd.arr,sd.arr+sd.n,less<int>());
for(int i=0;i<sd.n;i++)
{
cout<<sd.arr[i]<<" ";
}
return 0;
}
执行这段代码后发现当我设置数组长度大于5时就会开始出现排序混乱的现象,在5及5之内时排序正常,求解答/