내가 잘못하고있는 것을 이해하지 못한다. 외부에서 그것을 사용하는 함수 내부에서 구조체 포인터를 전달하고 싶습니다. (전체 구조체를 전달할 수 있지만 사용자 포인터를 제대로 배우고 싶습니다.) 불완전한 형식의 포인터를 역 참조합니다. Return structure pointer
이
는 기능입니다 :struct tm* GetActualTime()
{
//VAR DECLARE
time_t rawtime;
struct tm *timeinfo=malloc(sizeof(struct tm));
time (&rawtime);
timeinfo = localtime (&rawtime);
return timeinfo;
}
그리고 이것은 내가 메인에서 호출하는 방법입니다
dereferencing pointer to incomplete type
내가 이미 찾았 :
int main(void){
struct tm *real_time;
real_time=GetActualTime();
printf("%d:%d%d",real_time->tm_hour,real_time->tm_min,real_time->tm_sec);
}
나는 오류 오류 및 나는 거기에 더 많은 스레드가 있지만 그것은 단지 같은 문제를 참조하십시오 : 나쁜 구조체 선언 (마녀 난 probl 생각하지 마라. 그들을 당신이 시간 관련 기능에 대한 malloc에와 time.h에 대한 stdlib.h
및 time.h
파일, stdlib.h
을 포함 할 필요가 a를 time.h lib 디렉토리에서 구조체) 또는 (대신
:
을 지금 코드 데이터 회원. –
이미 다른 파일에서 필자는 prototypes.h (여기서 필자는 함수 원형을 가지고 있습니다)와 myf.h를 모든 libs라고 부릅니다. 나는 기능 –
게시 된 코드가 이러한 문없는 내부 시간을 인쇄 할 수 있기 때문에 나는 libs와 문제가없는'사용법 #include 사용법 #include 사용법 #include '모든 파일 헤더 파일에서 일부 항목을 사용해야합니다 그 헤더 파일에 대해'# include' 문을 가지고 있습니다. –
user3629249