我如何打印一个带有 void 函数的指针?

How can i print a pointer that takes a void function?

我有一个 main.c 代码(无法更改):

int main() {
  uint8_t *param ;
  param = func(key) ; 
}

Key 是一个包含 16 个元素的数组,func 在 stud.c 中声明,通过 stud.h 链接到 main。 func() 声明如下

void *func(void *key){//some code}

现在我如何打印参数?我用 printf 尝试了多种选择。 PLZ有什么建议吗?我还需要将参数作为十六进制格式的 16 个元素的数组。我无法更改 main.c 中的任何内容(我无法更改任何类型!!!)

for(int j = 0; j < 16; j++) {
    printf("%02X ", param[j]);
}
printf("\n");
for(int i = 0; i < 16; ++i) {
    printf("%02" PRIu8 "\n", param[i]);
}

因为你的数组是 uint8_t.

类型

别忘了#include <inttypes.h>

Good introduction to <inttypes.h> 中阅读更多内容,其中解释了其他命名约定,例如PRIx8 如果要打印十六进制值。