Dynamic array | Sololearn: Learn to code for FREE!


Dynamic array

I tried to implement a dynamic array in c. https://code.sololearn.com/cYDLAg5IhwjN/#c Now I don't know why it doesn't print to the screen. Probably because arr->arr[i]? Is there a way to print the array using the -> operator?


7/13/2020 4:36:03 PM


3 Answers

New Answer


And to add, if malloc() fails you should ideally return from the function or you will dereference a NULL pointer. This will leak memory if realloc() fails: arr->arr = realloc(arr->arr, arr->length * sizeof(int)); You should create a temporary variable to hold the return value of realloc() and assign it to your pointer if it successfully reallocated the memory block. int *tmp_arr = realloc(arr->arr, arr->length * sizeof(int)); if (tmp_arr) arr->arr = tmp_arr;


Robin I know i can do it with &arr and arr.arr[i]. But I tried to use -> operator. Now if I don't initialize the pointer with NULL it work. It's ok if i don't initialize a pointer in situations like this?


Robin Gen2oo Thanks!