gpt4 book ai didi

c - 在 C 中传递给函数 arg 时结构指针和结构之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 07:40:56 25 4
gpt4 key购买 nike

我有以下查询:

这是我在某个 .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; 那么我应该怎么做得到正确的指针?

请帮忙

最佳答案

我一开始误解了函数的声明者和调用者,对此感到抱歉,所以如果函数定义是:

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);

关于c - 在 C 中传递给函数 arg 时结构指针和结构之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com