Если это ваш C-файл, обратите внимание на две вещи:
Вы должны объявить функцию (то есть прототип) до того, как сможете ее использовать.
Вы не можете иметь исполняемый код на глобальном уровне.
Попробуйте:
typedef struct state {
char trans[100];
bool final;
struct state *next;
} STATE;
STATE *stu = NULL;
STATE* createList (STATE *stu, char trans, int states) {
for (int i = states; i > 0; i--) {
printf("%d", i); /*ccode check*/
}
return stu;
}
int main (void)
{
stu = createList(stu, trans, states);
return 0;
}
Обратите внимание, что я не дал прототип в этом примере, потому что полная функция определяется до того, как она будет использована, поэтому компилятор знает все об этом.