Reputation: 25
Does realloc function in C allocate contiguous memory space?
I am trying to implement dynamic integer array. Should I increment pointer by size of array element or by 1?
Are there any other better ways to implement dynamic array in C?
Upvotes: 1
Views: 1690
Reputation: 42934
Yes, just like malloc()
does.
If you have an int* ptr
which is a pointer to an element of a dynamically allocated int
array, a simple ptr++
will point to the next element.
Using malloc()
and realloc()
in C seems to me a good option for dynamic arrays.
Upvotes: 2
Reputation: 106012
Does realloc function in C allocate contiguous memory space?
Yes.
I am trying to implement dynamic integer array. Should I increment pointer by size of array element or by 1?
You should increase your pointer by 1
.
Are there any other better ways to implement dynamic array in C?
Using malloc
family functions is the only way. But in C99 and latter you can use variable length arrays (but it has some limitations as it allocates memory on stack).
Upvotes: 1