Вопрос

  • 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?

Это было полезно?

Решение 2

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).

Другие советы

  1. Yes, just like malloc() does.

  2. 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.

  3. Using malloc() and realloc() in C seems to me a good option for dynamic arrays.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top