public void setCallback(C callback) {
mCallback = callback;
}
在上面的代码中我将值存储在头5中,但是当我调用函数规范时,我打印头的值,它不显示5,我怎么解决这个?我想在另一个函数中使用相同的值
答案 0 :(得分:0)
偶然事项:分配内存时,应该是sizeof(cb)
,而不是int
。如果您尝试访问ptr->tail
,则会发生崩溃。接下来,您应该将指向结构的指针传递给norm(cb *ptr)
,并且不要在norm
内部分配内存,只需使用传递的指针即可。
typedef struct {
int head;
int tail;
}cb;
int norm(cb *ptr){
printf("%d",ptr->head);
}
void main(){
cb *ptr=malloc(sizeof(cb));
ptr->head=5;
norm(ptr);
}