C语言 想不引入malloc 怎么写可以让我自己规定数组长度


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int X;
    printf("Enter number of values: ");
    do
    {

        scanf("%d",&X);
        if(X<=0)
        {
            printf("Invalid array length!\nEnter a positive number:");
        }
    }
    while(X<=0);
    int *array;
    int i;
    array=(int*)malloc(X*sizeof(int));
    for(i=0;i<X;i++)
    {
        array[i]=i+1;
    }
    free(array);
    int j;
    for(j=0;j<X;++j)
    {
        printf("Enter position %d value:",j);
        scanf("%d",&array[j]);
    }

    
    return 0;
}

想替换掉中间那部分 因为我还没学过这种新的函数

可以直接定义一个比较大的数组,比如 int array[10000];然后用一个int nmb=0;变量来记录数组中的实际数据个数