我正在尝试使用 void 指针在 c 中实现一个通用堆栈来指向数据。结构看起来像这样
struct record{
void* data;
struct record* previousRecord;
};
其中 void 指针数据是指向堆栈位置将保存的数据的指针。如果我实现这样的推送功能
struct record* push(struct record* tos, void* data){
struct record* newtos = (struct record*)malloc(sizeof(struct record));
newtos->data = data;
newtos->previousRecord = tos;
return newtos;
}
并将几个整数指针和字符串指针推入堆栈,有什么方法可以打印这些指针引用的值。我的问题是,如果我使用 printf 函数,我必须在代码中指定要打印的值的数据类型,但存储在堆栈中的值只能在运行时确定