在C中初始化一个没有方括号,malloc和calloc的数组

时间:2017-05-08 18:48:42

标签: c arrays pointers

我想知道是否可以初始化没有方括号,malloc或calloc的数组。用calloc改变和改变数值是可能的,为什么不用这一切呢?

void initTab(int * tab, int size) 
{
    for(int i = 0; i < size; i++)
    {
        *(tab + i) = sizeof(int);
    } 
}

这只是编辑数组中值的示例,但如果数组未正确初始化则不起作用。

我想替换它:

int * tab = calloc(nb_elements,sizeof(int));

没有calloc。

1 个答案:

答案 0 :(得分:0)

当然可以使用没有malloc和calloc的数组,因为你可以使数组成为局部变量或全局变量而不是动态分配它。但声明或定义数组的语法总是使用方括号,我不明白为什么你需要避免这种语法。你可以拥有通过指针操作数组的函数,这些函数不需要使用方括号(你的问题就是这样一个函数的例子)。

相关问题