如果函数传递的是结构体,小心在调用的参数中给指针重新赋值(拿tm结构体举例)

如果函数返回的是结构体,如下函数的tm_Compile_time

                            INT32 comptime;

                            CHAR compiletime[64];

                            struct tm comparetime;

                            ret=Getubootinfo(&comptime,&comparetime,compiletime);

INT32 Getubootinfo(INT32 *timet_Compile_time,struct tm *tm_Compile_time,CHAR *char_compiletime)

如果这样写,是错误的,指针进行了重新赋值,变了,跟外界的入参已经没有关系,最容易犯得错误

如图:

如果函数传递的是结构体,小心在调用的参数中给指针重新赋值(拿tm结构体举例)

函数必须这样写才正确:这样指针并没有重新赋值,而是对内部的元素进行了赋值

如果函数传递的是结构体,小心在调用的参数中给指针重新赋值(拿tm结构体举例)