Browse Source Download (without any required ccan dependencies)

Module:

darray

Summary:

Generic resizable arrays

Author:

Joey Adams <joeyadams3.14159@gmail.com>

Description:

darray is a set of macros for managing dynamically-allocated arrays. It removes the tedium of managing realloc'd arrays with pointer, size, and allocated size.

Example:

#include <ccan/darray/darray.h>
#include <stdio.h>

int main(void) {
     darray(int) numbers = darray_new();
     char buffer[32];
     
     for (;;) {
             int *i;
             darray_foreach(i, numbers)
                     printf("%d ", *i);
             if (darray_size(numbers) > 0)
                     puts("");
             
             printf("darray> ");
             fgets(buffer, sizeof(buffer), stdin);
             if (*buffer == '\0' || *buffer == '\n')
                     break;
             
             darray_append(numbers, atoi(buffer));
     }
     
     darray_free(numbers);
     
     return 0;
}

License:

MIT