在C中动态分配指定大小的数组

时间:2012-09-23 20:48:58

标签: c arrays input malloc

我需要创建一个数组,其大小由用户输入决定,然后指向所述数组。所有阵列都将保持在500-600之间的随机数。我似乎无法正确使用malloc。我还是C的新手,所以非常感谢帮助。

int main(){
        int size;
    printf("Enter size of array");
    scanf("%d", &size);


    int array[size];
    int *aPtr = (int *) malloc(sizeof(int) * array);

2 个答案:

答案 0 :(得分:5)

你只需要:

int *aptr = malloc(sizeof(int) * size);

然后你可以像数组一样访问它。

aptr[0] = 123;

答案 1 :(得分:1)

你可能想写:

int *aPtr = (int *) malloc(sizeof(int) * size);

无论如何,您不需要array变量。您可以将aPtr编入索引,如aPtr[10]。最后也不要忘记free(aPtr)