Инициализация указателя в отдельной функции в C

Мне нужно сделать простую вещь, которую я делал много раз в Java, но я застрял в C (чистый 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;
}

У меня есть некоторая «инициализирующая» функция, которая ДОЛЖНА присваивать данный указатель некоторым выделенным данным (не имеет значения). Как я должен дать указатель на функцию для того, чтобы этот указатель был изменен, а затем может быть использован далее в коде (после того, как этот вызов функции вернется)?

Ответы на вопрос(2)

Ваш ответ на вопрос