动态分配的问题,求解答。
小弟遇到一个问题,求助啊。代码如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct Queue
{
int *pBase;
int front;
int rear;
}Queue;
void main()
{
Queue *q;
q=(Queue*)malloc(sizeof (Queue));
q->pBase =(int *)malloc(2 * sizeof(int) );
q->pBase =1;
q->pBase =3;
}
在调试的时候,pBase的第二个值进不去,就是说pBase里只有“1”这个值,这是怎么回事?
哪里有问题了。
完全没有问题。 应该都赋值进去了的,只是楼主没有观察到数据。。
PS:动态分配内存后做个判断看是否分配成功。。 这里楼主要注意一个问题,malloc函数和free函数是配对使用的,既然有了malloc函数申请内存空间,就要想到用free函数释放空间。否则会导致内存空间越用越小。 我是来领鱼币的
页:
[1]