学循环列表的一点困惑,关于动态内存分配。
小弟遇到一个问题,求助啊。代码如下:
#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”这个值,这是怎么回事?
这段代码是正确的。调试的时候不能访问pBase的第二个值。是因为你的调试方法错误。 数组不像链表那样给定元素就能查看后续元素的值。 数组需要指定下标一个一个的访问。比如: 在调试栏中输入 q->pBase 即是访问第一个。 把0换成1是访问第二个。 以此类推。
页:
[1]