我不明白我做错了什么。我想从函数内部传递一个结构指针以在外部使用它(我知道我可以传递整个结构但我想正确学习用户指针)。
这是函数:
struct tm* GetActualTime()
{
//VAR DECLARE
time_t rawtime;
struct tm *timeinfo=malloc(sizeof(struct tm));
time ( &rawtime );
timeinfo = localtime ( &rawtime );
return timeinfo;
}
这就是我在 main 中的调用方式:
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);
}
我得到错误:
dereferencing pointer to incomplete type
我已经在寻找这个错误,我知道有更多的线程,但它只指问题,例如:错误的结构声明(女巫,我认为这不是问题,因为它是 time.h 库中的结构)或错误调用(而不是 rea)
最佳答案
您需要包含stdlib.h
和time.h
文件,stdlib.h
用于malloc 和time.h 用于时间相关函数.随着这个包含程序成功运行..我已经检查并提供了正确的输出。
关于c - 取消引用指向不完整类型的指针。返回结构指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40058325/