diff --git a/build_and_run.sh b/build_and_run.sh index 6d2afb1..122da4e 100755 --- a/build_and_run.sh +++ b/build_and_run.sh @@ -1,4 +1,5 @@ #!/bin/sh +rm -rf build cmake . make ./build/test.out diff --git a/src/array.c b/src/array.c index f5e604f..3949e5a 100644 --- a/src/array.c +++ b/src/array.c @@ -3,13 +3,17 @@ #include union arraylist_meta { - max_align_t dummy_align; + double dummy_double; + long double dummy_long_double; + long long dummy_long_long; + void *dummy_ptr; + void (*dummy_func_ptr)(void); struct { - size_t len; - size_t cap; - size_t sizeof_one_element; + size_t len; + size_t cap; + size_t sizeof_one_element; }; - }; +}; void* arraylist_create(size_t array_size, size_t sizeof_one_element) { union arraylist_meta *arraylist_new = malloc(array_size * sizeof_one_element + sizeof*arraylist_new); diff --git a/src/main.c b/src/main.c index d960e22..344d257 100644 --- a/src/main.c +++ b/src/main.c @@ -1,10 +1,11 @@ #include #include "array.h" +#include int main() { int *int_array = arraylist_create(2, sizeof (int)); int_array[0] = 28; int_array[1] = 20; - for(int i = 0; i < 100; ++i) int_array = arraylist_append(int_array, &i); - for(int i = 0; i < 102; ++i) printf("Index: %d Value: %d\n", i, int_array[i]); + for(int i = 0; i < 10; ++i) arraylist_append(int_array, &i); + for(int i = 0; i < 12; ++i) printf("Index: %d Value: %d\n", i, int_array[i]); }