2016-12-03 3 views
-3

У меня есть структура с переменными в ней. Как получить доступ к переменным структуры, если структура передана в качестве ссылки?Получение переменных из структуры - c

struct point { 
    float x; 
}; 

float function(struct point *p) 
{ 
    return p.x; 
} 

... Другими словами, то, что мне нужно изменить в теле функции для того, чтобы не вызвать ошибку?

+5

Два варианта: p-> x или (* p) .x; –

ответ

1

Попробуйте это:

struct point { 
    float x; 
}; 

// return variable 'x' of pointer 'p' 
float function(struct point *p) 
{ 
    return p->x; 
} 

p->x эквивалентно (*p).x. Когда вы передаете struct * (указатель на структуру), вы должны получить к нему доступ в виде указателя.

+0

yeah 'p' является указателем –

+0

@melpomene Fair point; изм. –

Смежные вопросы