If you are developing in C, then stick to it. There's no need to mix in C++. Your main.cpp should be renamed main.c, and the cstdlib should be renamed to stdlib.h; also the using namespace directive should be removed.
Other than those issues, the following two warnings popped up when I compiled the app:
gcc -Wall -pedantic -std=c99 *.c
arraylist.c: In function ‘list* arraylist_create()’:
arraylist.c:9: warning: no return statement in function returning non-void
main.c: In function ‘int main(int, char**)’:
main.c:33: warning: unused variable ‘j’