gpt4 book ai didi

大型机上的C void指针

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

我目前正在修改转储程序,但我不知道如何使用空指针正确导航。下面是我正在使用的函数,以及我正在尝试执行的指令。我试过将 mem 转换为结构,但我不确定 sytnax,而且我不断收到错误消息。对于下面的代码,我得到的具体错误是:

       47       |   mem = mem->tcbtio                                    
===========> .........a..............................................
*=ERROR===========> a - CCN3122 Expecting pointer to struct or union.

这是我的功能:

void hexdump(void *mem, unsigned int len)
{
mem = mem->tcbtio;
...
}

这是我的结构定义:

struct psa {           
char psastuff[540];
struct tcb *psatold;
char filler[4];
struct ascb *psaaold;

};

struct tcb {
struct prb *tcbrb;
char tcbstuff[8];
struct tiot *tcbtio;
};

struct tiot {
char tiocnjob[8];
char tiocpstn[8];
char tiocjstn[8];
};

我需要将它保留为空指针,因为稍后我需要在函数中将它转换为 char 和 int。

最佳答案

您似乎期望找到一个 tcb 结构,从 mem 指向的地址开始,但代码的目的不明确,问题不明确。

如果真的是这样,你可以试试这个:

   mem = ((struct tcb *)mem)->tcbtio;                     

关于大型机上的C void指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22678379/

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