[問題] 關於linklist跟struct的問題
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
struct node
{
int data;
node *pnext;
};
//=================以上為struct==============
int data=0;
node *phead=0;
int count=0;
//================linklist資料差入===========
int insert(int data)
{
node *pnode=new node;
(*pnode).data=data;
(*pnode).pnext=0;
if(phead==0)
{phead=pnode;}
else
{ node *plast=new node;
plast=phead;
while((*plast).pnext!=0)
{plast=(*plast).pnext;}
(*plast).pnext=pnode;
}
}
//============================================
//==============將linklist中的值分別印出======
void print()
{
node *pnode=new node;
pnode=phead;
while(pnode!=0)
{
cout<<"Link list datais:"<<(*pnode).data<<endl;
pnode=(*pnode).pnext;
}
}
//============================================
int main()
{
while(1)
{
if(count==5)
{
print();
count=0;
}
cout<<"Enter data: ";
cin>>data;
insert(data);
count++;
}
system("pause");
}
//=======================================
小弟算是第一次碰linklist,
程式打一打也總算有對應的結果〈還沒用dalete〉
想請教的是:
1.在struct中定義的data宣告成int形式沒問題
,但為什麼在宣告指標時可以用不是保留字的
node來寫?這樣電腦怎麼知道要借多少記憶
體大小給我們呢?
2.在insert副程式中,為什麼不能將最後的
while((*plast).pnext!=0)
{plast=(*plast).pnext;}
(*plast).pnext=pnode;
改成
while(plast!=0)
{plast=(*plast).pnext;}
plast=pnode;
其實好像怪怪的,但我自己無法解釋,請教各位
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.137.204
→
04/28 20:22, , 1F
04/28 20:22, 1F
推
04/28 20:28, , 2F
04/28 20:28, 2F
→
04/28 20:28, , 3F
04/28 20:28, 3F
→
04/28 20:41, , 4F
04/28 20:41, 4F
推
04/28 21:06, , 5F
04/28 21:06, 5F
推
04/28 21:57, , 6F
04/28 21:57, 6F
→
04/28 22:51, , 7F
04/28 22:51, 7F
推
04/28 23:20, , 8F
04/28 23:20, 8F
推
04/28 23:38, , 9F
04/28 23:38, 9F
→
04/28 23:38, , 10F
04/28 23:38, 10F
→
04/28 23:39, , 11F
04/28 23:39, 11F
→
04/28 23:39, , 12F
04/28 23:39, 12F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章