막 독학으로 배우기 시작한 학생인데 gcc 도움 좀 주실 수 있나요?

puputrain의 이미지

#include <stdio.h>
int set_human(struct qwer *a, int age, int gender);
struct qwer
{
    int age;
    int gender;
};
int main()
{
    struct qwer human;
    set_human(&human, 10, 1);
    printf("AGE : %d // Gender : %d ", human.age, human.gender);
    return 0;
}
int set_human(struct qwer *a, int age, int gender)
{
    a->age = age;
    a->gender = gender;
    return 0;
}

이런 간단한 코드 내용인데, 예시로 나온걸보면 visual studio에서는 돌아가는 것 같습니다.
그런데 제가 쓰는 gcc:codeblocks에서는 15행 set_human 선언부분에서 conflicting types for "set_human"이라고 뜨면서 안되네요.

여기저기 물어보니 선언만 해서는 안되고 메모리 할당이 필요하다는데, 왜 필요한지와 어떻게 하는지 좀 알려주실 수 있나요?
제가 아는 선에서는 다 건드려 봤는데, 지식이 부족해서 안되네요... 부탁드립니다.

puputrain의 이미지

감사합니다.

백연구원의 이미지

알수 없는 구조체 사용 때문에 그렇습니다.
함수정의 이전에 qwer 구조체 선언해주시면 될거에요


소곤소곤