请教关于指向结构体的指针

stevenjin 2009-04-13 10:23:36

typedef struct item
{
int data;
struct item *NEXT;

}ITEM;

typedef struct Queue
{
struct item ITM;
struct item *front;
struct item *end;
int size;
}QUEUE;
假如现在初始化一个变量:
QUEUE *pueue这里的
pueue->rear->NEXT

ITEM->NEXT在内存模型上是怎样的?他们应该都是指向ITEM的指针吧?两者不会有差别吧?
...全文
127 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
caremsi 2009-04-14
  • 打赏
  • 举报
回复
是同一个对象,没有区别。
milosz 2009-04-13
  • 打赏
  • 举报
回复
queue->end->NEXT queue是一个指针,end也是一个指针
ITEM->NEXT item十一个指针
都是多重指针,应该一样吧??
liliangbao 2009-04-13
  • 打赏
  • 举报
回复
QUEUE *pueue这里的 pueue->end->NEXT

ITEM->NEXT在内存模型上是怎样的?他们应该都是指向ITEM的指针吧?两者不会有差别吧?

都是指向ITEM的指针~
差别:从指向ITEM来说没有任何差别,但是切记指针的使用是在初始化或赋值之后才可以使用!
ericming200409 2009-04-13
  • 打赏
  • 举报
回复
楼主的代码超级有问题
hjjdebug 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 stevenjin 的帖子:]

typedef struct item
{
int data;
struct item *NEXT;

}ITEM;

typedef struct Queue
{
struct item ITM;
struct item *front;
struct item *end;
int size;
}QUEUE;
假如现在初始化一个变量:
QUEUE *pueue这里的
pueue->rear->NEXT

ITEM->NEXT在内存模型上是怎样的?他们应该都是指向ITEM的指针吧?两者不会有差别吧?
[/Quote]
是不是把rear 敲成end了?
pueue->rear->NEXT 就是 ITEM->NEXT, 没有差别。都是指向ITEM
collective 2009-04-13
  • 打赏
  • 举报
回复
楼主的意思是这样的吧?
pueue->ITM->NEXT,
ITEM->NEXT

答:有差别,虽然最后访问的都是NEXT变量,但是在调用时占用的空间大小不一样,第二pueue对象指针类型在嵌套层次上比ITEM指针多一层

li_il 2009-04-13
  • 打赏
  • 举报
回复
楼主先看看教科书吧。
  • 打赏
  • 举报
回复
不知道楼主的意思~`
cyldf 2009-04-13
  • 打赏
  • 举报
回复
楼主说的应该是end吧
  • 打赏
  • 举报
回复
pueue->rear->NEXT

rear在哪里?都没看到声明啊.

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧