我正在尝试使用 sizeof() 来查找 void 指针指向的值的大小,我想用它来打印该值。
这段代码
int num = 5;
void *voidPtr;
voidPtr = #
printf("%d", sizeof(*voidPtr));
打印,1。 我怎样才能让它打印 4?
如果有任何其他方法可以打印 void 指针的值,请告诉我
提前致谢。
最佳答案
指针的值仅传达对象的起始地址,而不是有关其大小的任何信息。
如果指针是一个完整的类型,它的类型本身就传达了它所指向的对象的大小信息。但是,void
是不完整的,void *
不提供有关其来源的对象大小的信息(可能通过标准 C 的扩展和调试功能除外)。
通常,如果您的程序需要知道 void *
指向的内容的大小,它必须自己跟踪该信息。
关于丙 |使用 sizeof() 查找 void 指针指向的值的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69800271/