Я очень новичок в программировании на C, и я не уверен в создании функции, которая создает массив с пространством, выделенным для массива, и возвращает ему указатель на массив. Вот то, что я до сих пор: Editпустой массив в C и возвращающий указатель
struct Array {
int* sort;
int arraySize;
int totalSize;
};
array* createarray(int elements)
{
int arr[elements];
int *p;
int *p_array;
p = &arr;
p_array = (int *)malloc(sizeof(int)*elements);
return p;
}
Является ли это правильный способ сделать пустой список массива? И объясните, если это не понравится?
Опубликовать определение 'list'. –
Стандартное предупреждение: не набрасывайте 'void *' как возвращаемое 'malloc' & friends. – Olaf
Поскольку вы не возвращаете 'p_array', вы пропускаете память. Кроме того, вам не нужно выдавать результат 'malloc()'. –