Pointers 结构变量初始化中的指针错误
我有一个结构,我正试图初始化一些地址。 我得到了错误指针的运行时错误。基本上,地址存储不正确Pointers 结构变量初始化中的指针错误,pointers,structure,Pointers,Structure,我有一个结构,我正试图初始化一些地址。 我得到了错误指针的运行时错误。基本上,地址存储不正确 typedef struct { Uint8 *pInAddr[2]; }structtest2_t; typedef struct { structtest2_t structtest2[2]; }structtest_t; structtest_t structtest; 我尝试如下初始化:
typedef struct
{
Uint8 *pInAddr[2];
}structtest2_t;
typedef struct
{
structtest2_t structtest2[2];
}structtest_t;
structtest_t structtest;
我尝试如下初始化:
structtest.structtest2[0].pInAddr[0]=(uint8*)(someaddress);
我没有得到编译错误,但当我看到值时,有一个坏指针
请帮忙
谢谢您可能需要更改:
structtest.structtest2[0]=(uint8*)(someaddress);
致:
我很惊讶,您的代码没有收到编译器警告-您使用的是
gcc-Wall
还是等效版本?可能是某个地址不正确或使用不正确。或者您的程序无意中访问了未初始化的structtext.structtest2[1]。您好,这是我输入的错误。实际代码的形式与您建议的相同。我选错了地址,它在手表窗口中给出了错误的指针信息。我正在使用MSVC编译器。请help@user437777:您需要复制并粘贴实际代码,而不是键入近似值。什么值是someaddress
,您在structtest.structtest2[0].pInAddr[0]
中看到了什么值?
structtest.structtest2[0].pInAddr[0]=(uint8*)(someaddress);