您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

在C和C++中,“void *”有什么区别?

2024/4/29 18:00:00发布11次查看
在这个部分中,我们将看到c语言中void指针和c++ 中的空指针。它们都是 void 指针,但在 c 中,void 指针可以是在c++中,我们不能将任何指针类型分配给它,但在c++中,我们必须这样做显式类型转换以进行赋值。在以下示例中,当我们编写一些代码时,可以执行这些行代码在c中。
void *p;int *int_ptr = p;
这在 c 中可以正常工作。现在,如果我们使用 malloc() 来分配一些内存空间,我们可以使用显式类型转换,但如果我们不这样做,也没问题。the malloc()函数返回空指针。
int *int_ptr = malloc(sizeof(int) * 10);
这里返回的void指针隐式转换为整数类型指针。
现在如果我们想在c和c++中运行相同的程序,我们应该显式类型转换指针。
void *p;int *int_ptr = (int *) p;int *arr_ptr = (int *) malloc(sizeof(int) * 10);
以上就是在c和c++中,“void *”有什么区别?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录