【发布时间】:2016-05-15 16:36:14
【问题描述】:
我正在尝试获取 const void 指针所指向的数据的值。 为了获得不同的方式,我编写了这个简单的示例。 但由于某种原因它不起作用。实际上我希望 printf 写“数据 5 和指针的地址” 有人可以帮我吗?
谢谢
这里是代码
#include <stdio.h>
#include <stdlib.h>
int main(){
const void * data;
int b = 5;
data = &b;
printf("data %d %p ",&data,&data);
}
【问题讨论】:
-
如果你想解释数据,你需要知道(并因此给它)它的类型。不要使用
void。 C 没有用于识别静态类型系统之外的数据类型的内置机制。 -
printf("data %d %p ", *(const int*)data, &data); -
数据前的“(const int)”解决了这个谢谢