当前位置: 代码迷 >> C语言 >> [求助]问个关于指针的问题
  详细解决方案

[求助]问个关于指针的问题

热度:107   发布时间:2007-10-28 18:30:47.0
[求助]问个关于指针的问题

typedef struct node * Node; /* pointer to a list node */

struct node { /* list node type */
int data;
Node next;
};
Node first,mid,last;
first->next = work;
*mid->next = work;
(*last)->next = work;

上传个源代码,里面很多地方用到第三种情况的



上面三个红色标记的地方有什么不同
不好意思,补上了

[此贴子已经被作者于2007-10-29 15:58:15编辑过]

搜索更多相关的解决方案: 指针  

----------------解决方案--------------------------------------------------------
能不能写清楚,
first,mid,last是怎么定义的
----------------解决方案--------------------------------------------------------
first->next = work; /*就是将WORK的值给NEXT */
*mid->next = work; /* 相当于*(mid->next) 因为运算等级->高一些 */
(*last)->next = work; /* 这个应该是错的嘛,应该是 (*last).next = work; */

----------------解决方案--------------------------------------------------------
上面三个都是正确的,前面两个我都还明白,只是第三个有点不明白而已
----------------解决方案--------------------------------------------------------
以下是引用下雨浇花在2007-10-28 18:30:47的发言:

typedef struct node * Node; /* pointer to a list node */

struct node { /* list node type */
int data;
Node next;
};
Node first,mid,last;
first->next = work;
*mid->next = work;
(*last)->next = work;



上面三个红色标记的地方有什么不同
不好意思,补上了

第一个是first->next指针向work所指的地方
第二个是min->next里的内容存的是work所指向的地址
第三个应该改为(*last).next=work

[此贴子已经被作者于2007-10-29 13:37:18编辑过]


----------------解决方案--------------------------------------------------------

第三个是没有错的,它在Dev-c++ 4.9.9.2中通过,结果也正确


附件里的代码可以运行,结果也正确

它里面很多地方就是用第三个的用法
----------------解决方案--------------------------------------------------------
  相关解决方案