В вашем коде вы в основном выделяете два разных массива, один в стеке, а другой с malloc
.Даже если бы вы могли назначить массивы в C (чего вы не можете), массив, выделенный с помощью malloc
, будет вызывать утечку памяти каждый раз, когда вы будете вызывать свою функцию, поэтому вам определенно не следует делать это таким образом.* Так что, если вы хотите разместить свой массив в куче с помощью malloc
, нет другого способа, кроме как определить его как float*
.Если вы это сделаете, не забудьте free
, откуда вам это больше не нужно.
Если, с другой стороны, вам действительно нужен массив в стеке (остерегайтесь возможного stackoverflow) вы должны передать это местоположение в вашу функцию, чтобы оно могло использовать его для вашего кода инициализации.