我想读取一个存储在绝对值已知的地址的值。 我想知道我怎么能做到这一点。 例如。 如果值存储在0xff73000。 然后可以通过C代码获取存储在此处的值。 提前致谢
答案 0 :(得分:7)
只需将地址指定给指针:
char *p = 0xff73000;
并根据需要访问该值:
char fist_byte = p[0];
char second_byte = p[1];
但请注意,该行为取决于平台。我认为这适用于某种低级嵌入式编程,其中平台依赖性不是问题。
答案 1 :(得分:7)
两种方式:
<强> 1。将地址文字转换为指针:
char value = *(char*)0xff73000;
<强> 2。将地址分配给指针:
char* pointer = 0xff73000;
然后访问值:
char value = *pointer;
char fist_byte = pointer[0];
char second_byte = pointer[1];
char
是地址所代表的类型。
答案 2 :(得分:2)
char* p = 0x66FC9C;
这将导致此错误:
Test.c:在函数“ main”中:Test.c:57:14:警告:初始化 使指针从整数开始而无需强制转换[-Wint-conversion] char * p = 0x66FC9C;
要设置某个地址,您必须要做:
char* p = (char *) 0x66FC9C;