【发布时间】:2012-12-27 11:22:11
【问题描述】:
我正在尝试使用 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 函数,我必须在代码中指定要打印的值的数据类型,但是存储在堆栈中的值只能在运行时确定
【问题讨论】:
标签: c linked-list stack runtime printf