我是C中的一個新手。我試圖在main之外創建一個typedef
結構,然後創建一個指針typedef
。然後將此指針傳遞給另一個函數。但是,我收到錯誤。這是推動我瘋了。謝謝非常提前多..使用指針訪問結構成員
typedef struct rem_info
{
char ufrag[80];
char pwd[80];
unsigned comp_cnt;
pj_sockaddr def_addr[PJ_ICE_MAX_COMP];
unsigned cand_cnt;
pj_ice_sess_cand cand[PJ_ICE_ST_MAX_CAND];
} rem_info;
void reset_rem_info(rem_info *prem)
{
pj_bzero(prem, sizeof(rem_info));
}
int main()
{
rem_info *prem;
reset_rem_info(&prem);
return 0;
}
錯誤:
*WARNING**:ex7.c:51:1: warning: passing argument 1 of ‘reset_rem_info’ from incompatible pointer type [enabled by default]
reset_rem_info(&prem);
^
ex7.c:41:6: note: expected ‘struct rem_info *’ but argument is of type ‘struct rem_info **’
void reset_rem_info(rem_info *prem)
嘗試更改'reset_rem_info(&prem);'''reset_rem_info(prem);'您不需要取消引用指針 – jpw 2015-02-07 17:07:56
此標題「*使用指針訪問結構成員*」是誤導性的,因爲問題是**不**關於訪問結構的**成員**,但關於訪問**整個**結構 – alk 2015-02-07 17:16:56
我同意...實際上,需要在一個點上的代碼來訪問結構成員。但是在達到那個點之前我被卡住了。但是非常感謝您的回覆 – bislinux 2015-02-07 17:41:08