C语言 结构体指针问题请教。
我有个例程,运行是正确的。但是我不知道result2结果是如何得到的(输出是0x0800 4000,)。
请帮忙解释一下。谢谢,下面为例程:
不好意思,只剩30分了。
typedef struct {uint8_t bytes[1024];} page_tt;
#define FLASH_BASE_PAGE ((page_tt *)0x08000000)
#define BOOTLOADER_SIZE_PAGE (16) // 16page = 16kB
#define APP_BASE_PAGE (FLASH_BASE_PAGE+BOOTLOADER_SIZE_PAGE)
int32_t result;
page_tt * result1;
uint32_t result2;
int main(void)
{
result = *(int32_t *)(APP_BASE_PAGE+4);
result2 = (uint32_t) (FLASH_BASE_PAGE +BOOTLOADER_SIZE_PAGE); // 0x0800 0400
return 0;
}