首页 > 解决方案 > 指针中的 Void* 有什么用

问题描述

我无法理解 (void*) 在此指针代码中的使用。

std::cout<< "address character = " << (void *) &givenChar<<"\n\n";

标签: c++pointers

解决方案


首先,您需要知道地址运算符的&作用。因为&givenChar它返回一个指向变量的指针givenChar。假设(按其名称)givenChar是 type char,那么&givenChar将是 type char*

使用格式化输出运算符时<<,传递char*会将指针视为指向以零结尾的字符串的第一个字符的指针,并将打印该字符串。如果要打印实际的指针(而不是它指向的字符串),则需要将指针转换为具有类型的通用无类型指针void*

这就是强制转换的原因:能够打印指向字符的实际指针。


推荐阅读