Я использую c совсем недавно и обнаружил, что мне действительно не нравится иметь дело с управлением памятью или, по крайней мере, с мыслью, что, если я назначу указатель неправильно, я должен его освободить, даже если это самая тривиальная вещь. Это привело меня к тому, чтобы разместить как можно больше в стеке и использовать & для определения его местоположения. Даже создание отдельных переменных int и inptr (у меня была некоторая проблема с lvalue в операторе & в макросах).
Я не нашел много мест, где мне приходилось сталкиваться с передачей данных (выше / ниже), где они были распределены. В то же время мне нужно приличное количество ранних возвратов (и я бы предпочел избегать gotos). Каково общее мнение c сказать? Есть ли какие-либо очевидные признаки того, что я должен использовать тот или иной в конкретном случае.
P.S. Одна вещь, которая заставила меня немного волноваться, это то, что у меня недавно возникла проблема с повреждением памяти из-за использования неправильного sizeof для malloc, и я не заметил этого сразу, поскольку большинство моих путей кода непосредственно после этой точки не использовали кучу , Как вы думаете, насколько велика проблема такого рода сокрытия коррупции?