我需要做一件简单的事情,这在Java中我做过很多次,但是在C语言(不是C++)中却卡住了。情况如下:
int *a;
void initArray( int *arr )
{
arr = malloc( sizeof( int ) * SIZE );
}
int main()
{
initArray( a );
// a is NULL here! what to do?!
return 0;
}
我有一个“初始化”函数,它应该将给定的指针分配给一些分配的数据(不重要)。为了让这个指针被修改并且可以在代码中进一步使用(在函数调用返回后),我应该如何将一个指针传递给一个函数?
int *initArray(size_t s) { return malloc(sizeof(int) * s); }
,然后将其用作int *arr = initArray(SIZE);
。 - Chris Lutz