小编Pro*_*gga的帖子

如何在不触发警告的情况下将整数值转换为指针地址

我有以下变量

uint32_t Value = 0x80
Run Code Online (Sandbox Code Playgroud)

0x80代表存储器中的地址,例如

// Write 2 at address 0x80
*(uint32_t*)((uint32_t)0x80) = 2;
Run Code Online (Sandbox Code Playgroud)

如何将Value转换为Pointer,使其指向0x80?

uint32_t *Pointer = ?? Value;
Run Code Online (Sandbox Code Playgroud)

这个:

(uint32_t*)(uint32_t)Value;
Run Code Online (Sandbox Code Playgroud)

返回:

warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
Run Code Online (Sandbox Code Playgroud)

c embedded pointers integer

5
推荐指数
1
解决办法
1900
查看次数

标签 统计

c ×1

embedded ×1

integer ×1

pointers ×1