【发布时间】:2015-03-17 17:02:17
【问题描述】:
嘿,我正在尝试将指针内存分配 d =(deque*)malloc(sizeof(deque)); 移动到名为 void initDeque() 的第一个函数中。我尝试在main 中保留声明并在函数中分配内存,但程序在初始化双端队列后就崩溃了,我无法在其他函数中使用指针。
代码如下:
int main(){
int x;
deque *d;
d = (deque*)malloc(sizeof(deque));
initDeque(d);
putFront(d,10);
以及我想为指针移动内存分配的函数:
void initDeque(deque *d){ //Create new deque
//d = (deque*)malloc(sizeof(deque));
printf("Initializing deque\n");
d->front=NULL;
d->rear=NULL;
}
如果声明和分配在main() 中,程序运行良好,但是当我将分配放入void initDeque 时它会崩溃。
【问题讨论】: