我试图访问指针结构中指针的地址。
下面是我正在尝试的代码。请帮忙。
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)访问整数值;请使用具有有效(根据硬件)对齐的地址,这样您就可以了。