Это не мой точный код, но он походит на это по существу. Я пытаюсь создать переменную стека в main()C: «Недействительный свободный(): адрес 0x7feffee08 находится в стеке 1-го уровня»
int ** x;
, что я хочу перейти к функции foo (int ** x, arg1, arg2, ...). В каком-то состоянии я должен динамически выделять пространство для x в foo()
x = (int **) malloc (sizeof (int *) * num_elems);
Я также не выделяя новое пространство для каждого элемента Int *, но назначая к нему & у, где у ИНТ был создан в Foo().
Я получил эту ошибку, когда попытался освободить x в main(). Я не понимаю, что это значит, но я подозреваю, что это может быть потому, что я использовал & y?
EDIT: Также уместно: у меня были значения мусора, когда я попытался получить доступ к элементам с двойным разыменованием x.
http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc –