gcc test.c -o test
test.c:9: error: syntax error before '&' token
test.c: In function 'add':
test.c:10: error: 'head' undeclared (first use in this function)
test.c:10: error: (Each undeclared identifier is reported only once
test.c:10: error: for each function it appears in.)
test.c:12: error: 'data' undeclared (first use in this function)
test.c: In function 'main':
test.c:22: error: 'for' loop initial declaration used outside C99 mode
С ** никак не получилось, может потому что Си плохо знаю. Сделал иначе, через ж*пу, но работает - функция просто возвращает значение созданной структуры, и при вызове делается head = add(head, data);