根据C99
标准,我们可以做到这一点
int n = 0;
scanf("%d",&n);
int arr[n];
这是在 c 中创建动态数组的方法之一。现在我想把这个数组初始化成0
这样
int arr[n] = {0};
这里我的编译器产生错误。我想知道我们可以这样做吗?是否符合标准?在编译时我们为数组提供了足够的内存,但这里在编译时是未知的。它是如何发生的?
根据C99
标准,我们可以做到这一点
int n = 0;
scanf("%d",&n);
int arr[n];
这是在 c 中创建动态数组的方法之一。现在我想把这个数组初始化成0
这样
int arr[n] = {0};
这里我的编译器产生错误。我想知道我们可以这样做吗?是否符合标准?在编译时我们为数组提供了足够的内存,但这里在编译时是未知的。它是如何发生的?