2014-05-06 62 views
-2

下面是樣本結構如何保持函數返回一個指向結構

struct tipc_port { 
     void *usr_handle; 
     spinlock_t *lock; 

}; 

下面是一個函數調用,它返回一個指向上述結構

struct tipc_port *tipc_get_port(const u32 ref); 

現在我想將這個指針存儲在某個變量的結構中,並將這個變量傳遞給其他某個函數。

如何聲明這個變量,它將持有指向上述函數返回的結構的指針。

感謝提前:)

+5

'struct tipc_port * variable_name;' –

+2

請在這裏閱讀http://en.wikipedia.org/wiki/The_C_Programming_Language – alk

回答

1

在C您變量聲明爲:

type varname; 

struct struct_name varname; 

所以你的情況,你需要:

struct tipc_port * variable; 
0

一種方法[R這樣做是聲明自己的類型:

typedef struct{ 
    void *usr_handle; 
    spinlock_t *lock; 
}tipc_port_t; 

,然後用它,你可以使用任何其他的常見類型:

tipc_port_t* tipc_get_port(const u32 ref); 

並在您的代碼:

tipc_port_t *yourStructPointer; 
u32 yourRef; 

yourStructPointer = tipc_get_port(yourRef); 
[...] 

或者:

tipc_port_t yourStructPointer; 
u32 yourRef; 

&yourStructPointer = tipc_get_port(yourRef); 
[...] 
相關問題