Если вы хотите вернуть указатель на массив, не возвращайте адрес локальных переменных. То, что вы возвращаете сюда, будет int**
. Что вы хотите сделать, это выделить новый массив int и вернуть int*
. Что вы хотите, вероятно, что-то вроде:
int* fun()
{
int* a = malloc(sizeof(int) * 3);
a[0] = 3;
a[1] = 3;
a[2] = 4;
return a;
}
Затем вам нужно обязательно освободить выделенный массив позже.