动态分配int数组

时间:2016-06-10 10:04:52

标签: c

int funkcija(int broj)

{

    int *niz;
    int i;

    *niz = (int*)malloc(broj*sizeof(int));

    srand(time(NULL));

    for (i = 0; i < broj; i++)
    {
        niz[i] = rand() % 50;
        printf("%d\n", niz[i]);
    }

    return *niz;

}

我需要创建一个带数字的函数,动态分配一个字符串/数字序列,用随机数初始化它并返回它。有什么帮助吗?

3 个答案:

答案 0 :(得分:1)

您的代码存在一些问题,例如,malloc()会返回一个指针,因此您需要指定一个指向 指针的变量的指针。换句话说,您应该将malloc()的返回值分配给niz而不是*niz

接下来,funkcija()应该返回一个指针,指向具有随机值的int数组的驻留位置。返回类型应为int *

继续上面的逻辑,你的函数应该返回指针niz。如果您取消引用niz(使用*niz),则返回数组的第一个元素(您需要的内容)。

答案 1 :(得分:0)

你想要这个:

int funkcija(int broj)    
{    
    int *niz;
    int i;

    niz = (int*)malloc(broj*sizeof(int));

    srand(time(NULL));

    for (i = 0; i < broj; i++)
    {
        niz[i] = rand() % 50;
        printf("%d\n", niz[i]);
    }

    return niz;    
}

答案 2 :(得分:-1)

target 'TestTarget' do
    pods
end