2016-12-03 69 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公平點;編輯。 –