Allepta
@Allepta

Какой тип данных будет более правильным?

Приветствую. У меня есть две структуры данных: struct1 - для долгосрочного хранения данных в переменных, struct2 - для краткосрочного хранения информации в переменных и также эти данные в переменных перезаписываются в процессе работы программы.

Во всех структурах я использую переменные типа char* и char**. Со временем я начал замечать утечки памяти и не нашел иной причины, как ошибки в выделение памяти. Суть вопроса, есть ли смысл использовать простые чар массивы формата char name[32] или динамические массивы char name[] в замену указателям с последующим выделением им памяти?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Утечка памяти не зависит от природы программы - ну, если Вы конечно не допустили глобального косяка типа забытого free() после malloc() Утечка памяти зависит от реализации ядра ОС.
Использовать нужно всегда динамическую память. В статической разве что константы хранить.
Почему? А очень просто получить эксплойт через переполнение границ массива.
Вы, конечно, скажете - да я простой юзер, я модули ядра не пишу etc... на что я отвечу - а стиль программирования формируется. Привыкнув делать статические массивы - Вы и в модуле ядра будете делать так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
есть ли смысл использовать простые чар массивы формата char name[32] или динамические массивы char name[] в замену указателям с последующим выделением им памяти?

Я думаю, что никто вам обоснованно не ответит на вопрос в такой постановке, поскольку нам ничего неизвестно о природе ваших данных.
Утечки памяти можно искать valgrind'ом, это в большинстве случаев легко и приятно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы