我有以下查询:
这是我在某些.h文件中的结构
typedef struct
{
recUEInfo_t *recUEInfoPtr_t;
Int32 frameID;
Int32 slotIndx;
Int32 symNumber;
} recControlList;
如果我做recControlList recControlListPtr;我可以将地址传递给调用者函数 并将其作为定义
中的指针收集Fun(recControlListPtr);/* caller*/
和void Fun(*recControlListPtr);/* actual func*/
但如果我recControlList *recControlListPtr;
那么我该怎么办呢
得到正确的指针?
请帮忙
答案 0 :(得分:3)
我最初误解了谁是该函数的声明者和调用者,对不起,所以如果函数定义是:
Fun(recControlListPtr *precControlListPtr)
{
// Do stuff
}
你可以这样打电话:
recControlListPtr rec1;
recContrlListPtr* prec2;
Fun(&rec1);
Fun(prec2);
其他编辑 - 我最好猜测我认为你想要完成的事情
typedef struct
{
recUEInfo_t *recUEInfoPtr_t;
int frameID;
int slotIndx;
int symNumber;
} recControlList;
void Fun(recControlList* pRecList)
{
ASSERT(pRecList != NULL);
int nFrameID = pRecList->frameID; // This line shows accessing the struct
// Do other stuff
}
recControlList rec1;
recControlList* pRec2 = &rec1;
Fun(&rec1);
Fun(pRec2);