Files
mlib/example/ex-array01.c
T
2017-07-27 22:16:15 +02:00

50 lines
1.3 KiB
C

#include "m-array.h"
// Let's define an array of 'char *' named 'charp'
ARRAY_DEF (array_charp, char *)
int main(void)
{
// Create an array list
array_charp_t al;
// Initialize it
array_charp_init(al);
// add elements to the array list
array_charp_push_back (al,"C");
array_charp_push_back (al,"A");
array_charp_push_back (al,"E");
array_charp_push_back (al,"B");
array_charp_push_back (al,"D");
array_charp_push_back (al,"F");
// Use iterator to display contents of al
printf("Original contents of al: ");
array_charp_it_t itr;
for (array_charp_it(itr, al) ; !array_charp_end_p (itr); array_charp_next(itr)) {
char *element = *array_charp_ref(itr);
printf ("%s ", element);
}
printf("\n");
// Now, display the list backwards
printf("Array backwards: ");
for (array_charp_previous (itr) ; !array_charp_end_p (itr); array_charp_previous(itr)) {
char *element = *array_charp_ref(itr);
printf ("%s ", element);
}
printf("\n");
// For array, we can also iterate over the integer
printf("Array Direct: ");
for(size_t i = 0 ; i < array_charp_size(al); ++i) {
char *element = *array_charp_get(al, i);
printf ("%s ", element);
}
printf("\n");
// Clear the array
array_charp_clear(al);
return 0;
}