链表指向和多变量赋值问题

duolee 2007-12-19 09:22:31
void intiate() //主要问题就这,我循环赋值,但每次只改变了CO1和CO2的前面一个值,后面那个设备指针我没改对,所以运行只能成功运行单数的。
{
int i;
node *P; /*申请进程结点*/
DCT *D; /*申请一个DCT表的结点*/
COCT *CO1,*CO2; /*申请一个COCt表的结点*/
SDT *SD; /*申请一个SDT表的结点*/
F=(SDT*)malloc(sizeof(SDT)); /*申请一个SDT表F,并进行初始设置*/
S=F;
CH=(CHCT*)malloc(sizeof(CHCT));
CH->front=(node*)malloc(sizeof(node));
CH->front->next=NULL;

for(i=1;i<=4;i++)
{ CO1=(COCT*)malloc(sizeof(COCT));
CO1->front=(node*)malloc(sizeof(node));
CO1->front->next=NULL;
CO2=(COCT*)malloc(sizeof(COCT));
CO2->front=(node*)malloc(sizeof(node));
CO2->front->next=NULL;
SD=(SDT*)malloc(sizeof(SDT));
D=(DCT*)malloc(sizeof(DCT));
P=(node*)malloc(sizeof(node));
SD->dtype=i;
D->front=P;
P->next=NULL;
SD->D=D;
D->dstate=0; /*输入第i个设备的状态*/
D->dtype=i;
D->num=0;
cout<<i<<endl;
cout<<"Please input the controler of "<<i<<" device:"<<endl;/*输入与第i个设备相连的控制器类型*/
cin>>CO1->cotype;
CO1->costate=0; /*输入与第i个设备相连的控制器的状态*/
SD->D->CO1=CO1;
cout<<"Please input the channel of "<<i++<<" controler:"<<endl; /*输入与第i个控制器相连的通道类型*/
cin>>CH->chtype; /*输入与第i个控制器相连的通道类型*/
CH->chstate=0;
SD->D->CO1->CH=CH;

cout<<"Please input the controler of "<<i<<" device:"<<endl;
cin>>CO2->cotype;
CO2->costate=0; /*输入与第i个设备相连的控制器的状态*/
SD->D->CO2=CO2;
cout<<"Please input the channel of "<<i<<" controler:"<<endl; /*输入与第i个控制器相连的通道类型*/
cin>>CH->chtype; /*输入与第i个控制器相连的通道类型*/
CH->chstate=0;
SD->D->CO2->CH=CH;
S->next=SD;
S=SD;
SD->next=NULL;
}
show(); /*显示函数调用*/
}

主要是这个循环,是设备分配代码的一部分,用语对设备的初始化,分别是2个控制器控制4个设备,现在的问题是,每次初始化时只能对1.3号设备初始化,2.4号设备赋不到值,想在FOR循环中改变链表指针,使指针后移,能成功初始化4个设备。
郁闷了很9了,求大家帮忙,多谢了
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
支持搂主,收藏
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
hslinux 2008-04-30
  • 打赏
  • 举报
回复
代码看得难受,建议LZ把指针赋值写成一个函数。

代码简单明了、条理化调试起来也方便多了。
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
都是很好的建议! 值得学习
csdn5211 2007-12-20
  • 打赏
  • 举报
回复
第一次循环的时候,给第0个和第1个赋值,第二次循环给第2个和第3个赋值,楼主的程序是这个意思吗?

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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