Я новичок в C. Я пытаюсь создать структуру 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 (прем);' Вам не нужно разыменования указателя – jpw
это название «* доступ к структуре члена с использованием указателей *» вводит в заблуждение, поскольку речь идет. ** не ** о доступе к члену структуры **, но о доступе к ** целой ** структуре. – alk
Согласен ...На самом деле код в одной точке необходим для доступа к члену структуры. Однако я был застрял до достижения этой точки. Тем не менее, спасибо за ваш ответ – bislinux