有关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变量可以么?它即为函数的入参又为出参。

c

4个回答

可以。用指针或者引用。

u010298834
王维来 谢谢
接近 4 年之前 回复
u010298834
王维来 inline u_int16 Hex_Conversion(u_int16 Data_Len, u_int16 Cur_Len, u_int16 Offset)
接近 4 年之前 回复

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

你这里的代码是不行的

可以的,这样做时没问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!