Dynamic Allocation Example
void ** array;
unsigned int size = 0;
int add_element(void * element, unsigned int offset)
{
unsigned int i;
void ** new_array;
if (offset >= size) {
new_array = (void *)malloc(sizeof(void *) * (offset + 1))))
if (NULL == new_array) {
return(-1);
}
for (i = 0; i < (offset + 1); i++) {
new_array[i] = NULL;
}
if (array) {
for (i = 0; i < size; i++) {
new_array[i] = array[i];
}
}
size = offset + 1;
free(array);
array = new_array;
}
array[offset] = element;
return(0);
}
next slide