[code:1]
#include "list.h"
int add_data(data_t data);
int add_data(data_t data)
{
list_t *new_node;
if((new_node = (list_t *)(malloc(sizeof(list_t) + strlen(data.string) + 1))) == NULL)
return(-1);
new_node->item.time = data.time;
new_node->item.index = data.index;
new_node->item.string = (char *)(new_node + sizeof(list_t)); // 이 부분이 뭘하는건지요? 단지 문자열이 들어 갈만큼의 메모리 초기화 인지요?