返回mallocatted数组的大小

时间:2019-03-02 07:12:35

标签: c arrays pointers malloc dynamic-memory-allocation

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    int *num=malloc(sizeof(int)*n);
    printf("Enter how many numbers:\n");
    scanf("%d",&n);
    printf("Enter numbers:\n");
    for(int i=0;i<n;i++)
    {
        scanf("%d",num+i);    

    }

    for(int j=0;j<n;j++)
    {
        printf("%d\n",*(num+j));    

    }

    return 0;
}

即使我没有在这里初始化n,malloc的工作原理又有什么方法可以检查用malloc分配的数组的大小呢?

1 个答案:

答案 0 :(得分:-1)

您可以在分配时增加总长度1,并在第一个元素中将n保留为长度。如果您想从数组中获取数据,只需将1添加到索引。