将memset与指向数组的指针一起使用

问题描述 投票:0回答:1

我如何使用指向该数组的指针来设置该数组。

    int *A, n;

    printf("\n Enter the size of array : ");
    scanf("%d",&n);

    A = (int*) malloc(sizeof(*A) * n);

    int i = 0;

    memset(*A,5,n * sizeof(*A));

    for(i = 0; i < n; i++)
        printf("%d ", A[i]);
c arrays pointers memset
1个回答
0
投票

编译器无缘无故发出警告:

warning: passing argument 1 of 'memset' makes pointer from integer without a cast
expected 'void *' but argument is of type 'int'

这意味着您在传递integer时没有将正确的类型传递给memset()的第一个参数,该参数的确需要pointer

您的指针A仍然可以,不需要引用它并且*A是错误的,正确的调用是:

memset(A, 5, n * sizeof(*A));

也,don't cast the return value of malloc()

malloc()
© www.soinside.com 2019 - 2024. All rights reserved.