有关C语言定义变量并初始化问题

inline u_int16 Hex_Conversion(u_int16 Data_Len, u_int16 Cur_Len, u_int16 Offset)
{
memcpy(&Data_Len, &pHead->ui8APP_Data[Cur_Len + Offset], 2);
u_int16 Temp = 0;
Temp = Data_Len>>8;
Data_Len = Data_Len<<8;
Data_Len = Data_Len + Temp;
return Data_Len;
}

static u_int16 App_MNG_Len = Hex_Conversion(App_MNG_Len, Cur_Len1, XM_LOGO_OFFSET_APP_MPLEN);
这样定义并初始化App_MNG_Len变量可以么?它即为函数的入参又为出参。

可以。用指针或者引用。

可以这么用,但是它作不了出参,只能作入参。用指针才能作出参。

你这里的代码是不行的

可以的,这样做时没问题