#include #include float * dynarray(int size); void doubleRA(float **); int main(void) { float * fra; int size = 10; fra = (float *) calloc(size, sizeof(float)); fra[0] = 20; fra[size-1] = 100; printf("size of fra%d\n", sizeof(fra)); free(fra); fra = dynarray(20); printf("fra: %p", fra); doubleRA(&fra); printf(" fra after double: %p\n", fra); fra[29] = 10; float * temp = realloc(fra, sizeof(float)*size*2); if (temp != NULL) fra = temp; } void doubleRA(float **fr) { *fr = realloc(fr, sizeof(fr)*2); } float * dynarray(int size) { // float fr[20]; // statically declared local var // dies when method ends return (float *) calloc(size, sizeof(float)); }