我想问c++的问题 ,在线等,关于链表中接点在内存中的分配及地址引用(20分)

  • 主题发起人 主题发起人 lht123
  • 开始时间 开始时间
L

lht123

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下

#include <iostream.h>

class Node {
public:
double data
Node * next;
}


void CreatLinklist(){
Node *hNode=new Node

hNode->data=0;
hNode->next=NULL;

cout<<"the headnode address is "<<hNode<<endl;
cout<<"the headnode.data is "<<hNode->data<<endl;
cout<<"the headnode->next is "<<hNode->next<<endl;

cout<<endl;

Node* inlinkNode[5];

int j;
cout<<"input the linklist node number :"<<" ";
cin>>j;
cout<<endl;

for(int i=1
i<j
i++){
inlinkNode=new Node;

inlinkNode->data=i;

inlinkNode->next=inlinkNode[i-1];

if (i==1 )
inlinkNode->next=hNode;


cout<<"the inlinkNode["<<i-1<<"] address is "<< inlinkNode[i-1]<<endl;
cout<<"the inlinkNode["<<i<<"]->data is " <<inlinkNode->data<<endl;
cout<<"the inlinkNode["<<i<<"]->next is "<<inlinkNode->next<<endl;

cout<<endl;


}
}



void main()
{
CreatLinklist();

}
这是 提示错误 “0x02632638”指令引用的“0x00000014”内存,该内存不能“writen”

 
你为何把node定义为一个类?定义为一个结构不是更好?
 
cout<<"the inlinkNode["<<i-1<<"] address is "<< inlinkNode[i-1]<<endl;
你的循环从1开始,i=1时,你inlinkNode[0]的指针指向非法地址。

还有NEW之后没有DELETE
 
只能輸入2-6
 
后退
顶部