list in c/c++ of data struct