#include <stdio.h>
#define READ8(Address) \
(*((volatile long *)(Address)))
int main()
{
int Array[2];
long out_value;
Array[0] = 55;
Array[1] = 66;
out_value = READ8(&Array[0]);
printf("%d\n", out_value);
}
我试图读取8位数据,16位数据和32位数据并存储在out_value变量中。我正在改变数据类型的读取大小,将宏中的数据类型更改为int/long,但每次输出只打印为55。从C语言地址读取8位或16位或32位
我想打印为55,也5566
我不明白你想要做什么。你能发表一个更好的例子吗? – Fefux
你在使用什么系统? – melpomene
int不是8位,你可以使用8位无符号字符,甚至比outvalue不会打印5566 –