【发布时间】:2014-08-14 17:21:53
【问题描述】:
我知道指针用于存储另一个内存位置的地址。代码如下:
#include <stdio.h>
main()
{
int a=10;
void *ptr=10;
printf("%u",ptr);
}
我的输出是:10
我们可以像上面的程序那样在指针中存储值吗? void指针的主要用途是什么?
【问题讨论】:
-
由于缺少泛型,
void*常用于 C 中的容器。 -
“通用”一词是指模板吗?
-
@Jashaszun 在这种情况下, void 指针可以处理任何数据类型的变量。我说的对吗?
-
@kalyan 它可以指向任何类型的对象。我不确定您所说的“过程”是什么意思。不,它不像模板。 C++ 中的模板与
void *指针无关,它们以完全不同(且更安全)的方式工作。将它们视为等价物是错误的。