Мои извинения, я знаю, что многие связанные вопросы уже заданы, поэтому я буду хранить это очень просто.Использование realloc внутри функции
Несмотря на несколько лет программирования, я не могу найти правильный синтаксис для изменения размера и изменения массива (или нескольких) внутри функции. Например, скажем, я хочу функцию, чтобы заполнить массив с набором «N» чисел, где «п» определяется в пределах массива:
int main(int argc, char *argv[]) {
float *data = NULL
int n = myfunction(data);
for(i=0;i<n;i++) printf("%f\n",data[i]);
free(data);
}
int myfunction(float *input) {
int i,n=10;
input = (float *) realloc(input, n*sizeof(float));
if(input!=NULL) {
for(i=0;i<n;i++) input[i] = (float)i;
return(n);
else return(-1)
}
Я знаю, что это не будет работать, так как я, вероятно, нужно используйте указатель на указатель, но я не могу разрешить, какую комбинацию указателей, указателей на указатели и обозначение адреса использовать внутри и снаружи используемой функции.
Любые простые предложения оценены!
http://c-faq.com/ptrs/passptrinit.html – hmjd
честный комментарий, но не совсем то, что я искал;) – JWDN