Winner 发表于 2013-2-17 11:50:40

学循环列表的一点困惑,关于动态内存分配。

小弟遇到一个问题,求助啊。
代码如下:
#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”这个值,这是怎么回事?

asd577586785 发表于 2013-2-28 05:39:00

这段代码是正确的。调试的时候不能访问pBase的第二个值。是因为你的调试方法错误。 数组不像链表那样给定元素就能查看后续元素的值。 数组需要指定下标一个一个的访问。比如: 在调试栏中输入 q->pBase 即是访问第一个。 把0换成1是访问第二个。 以此类推。
页: [1]
查看完整版本: 学循环列表的一点困惑,关于动态内存分配。