以下是样本结构
struct tipc_port {
void *usr_handle;
spinlock_t *lock;
};
下面是函数调用,它返回指向上述结构的指针
struct tipc_port *tipc_get_port(const u32 ref);
现在我想将这个指针存储在某个变量中的struct中,这个变量将被传递给其他函数。
如何声明这个变量,该变量将保存上述函数返回的struct指针。
提前致谢:)
答案 0 :(得分:1)
在C语言中,您将变量声明为:
type varname;
或
struct struct_name varname;
所以在你的情况下你需要:
struct tipc_port * variable;
答案 1 :(得分:0)
这样做的一种方法是声明自己的类型:
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);
[...]