2016-12-03 85 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 *(指向struct的指针)时,你必须以指针的形式访问它。

+0

是啊'p'是一个指针 –

+0

@melpomene公平点;编辑。 –