我试图访问指针结构中指针的地址。
下面是我正在尝试的代码。请帮忙。

struct NODE
{
    int Data;
    int *PtrInt;

} NODE_1, *PtrNode;

int main(void)
{
    NODE_1.Data = 100;
    NODE_1.PtrInt = 0x50;
    *(NODE_1.PtrInt) = 0x110;   // i am able to access pointer from structure here

    PtrNode = 0x1000;
    PtrNode->Data = 0x500;
    PtrNode->PtrInt = 0xff;
    *(PtrNode->PtrInt) = 0xcc;  // but i am not able to access to pointer from structure
                                // pointer
}

最佳答案

通过注释中的对话确认:问题是您正在设置指向地址0xff的指针,然后尝试在那里写入/读取一个整数。您的硬件不允许在未对齐的内存地址(如0xff)访问整数值;请使用具有有效(根据硬件)对齐的地址,这样您就可以了。

09-07 19:23