Может ли кто-нибудь помочь мне с этим? Скажем, у меня есть следующая структура:Сохранение длины динамического массива структуры
typedef struct mystruct{
int data1;
int data2;
}mystruct;
И я создал массив структур, используя следующий код:
main(void) {
mystruct **new_mystruct = function();
... need to know the length of new_mystruct here ...
}
mystruct **function(){
... code to determine length of array here ...
mystruct **new_mystruct= malloc(length_of_array * sizeof(mystruct));
... code to fill array here ...
return new_mystruct;
}
Что такое лучший способ вернуть длину моего массива, предполагая length_of_array динамически генерируется в течение времени выполнения моей функции?
Надеюсь, у меня есть смысл. Заранее спасибо.
Вы объявляете двойной указатель, но выделяете только для 'mystruct'. Снимите одну из звездочек. –
Просто поместите NULL в последний элемент. Затем вы можете сделать некоторое время, чтобы подсчитать, сколько у вас элем. – Maresh
Кажется, что * связанный список * будет одним из вариантов. –