gpt4 book ai didi

c - 打印 void 指针的值

转载 作者:太空狗 更新时间:2023-10-29 14:55:08 27 4
gpt4 key购买 nike

我有一个返回空指针的函数。可以说我知道指向的数据 block 是一个整数数组。如何打印它们?

从另一个线程我看到我以这种方式将 void 转换为我想要的数据类型:

printf("%i",*((int*)data));

但正如我所说,数据是一个整数数组。我试图这样做,但它不是一个有效的表达式:

for(i = 0; i<3; i++){
printf("%i \n", *((int*)(data+sizeof(int)*i)));
}

打印这个的正确方法是什么?

最佳答案

只需使用一个临时的int*:

int *p = data;
for (int i=0; i<3; i++)
printf("%i\n", p[i]);

请注意,第一行中没有显式转换,因为 void* 不需要,避免显式转换被认为是良好的 C 风格。在循环中,我使用了这样一个事实,即您可以索引一个指向数组的指针,就好像它是数组本身一样。

关于c - 打印 void 指针的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16950448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com