[問題] pointer和link list的問題
void pointer(int *p)
{
p=p+1;
}
int main()
{
int a=3;
int *b = &a;
cout<< *b << endl;
pointer(b);
cout << *b << endl;
}
//////以上範例是想測試位址在函數裡的改變是否會傳回主函數,發現不會///////////
void reverse_link(link *head)
{
link *prev,*temp;
prev = temp = NULL;
while(head!=NULL)
{
temp = head;
head = head->next;
temp->next = prev;
prev = temp;
}
}
int main()
{
reverse_link(head);
cout << "顯示反轉鍊表" << endl;
show_link(head);
}
////以上範例是測試反轉鍊表的意外範例,鍊表沒有反轉,印出的結果發現頭後面的
節點都不見了(這裡省略了部分函數,只留問題)////
問題:為什麼函數沒有辦法改變位址,可在鍊表中卻會被改動呢??
(抱歉剛剛弄錯範例,以上才是正確想問的,謝謝)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1409307953.A.4E2.html
→
08/29 18:27, , 1F
08/29 18:27, 1F
※ 編輯: kdok123 (140.112.25.105), 08/29/2014 18:47:57
→
08/29 18:52, , 2F
08/29 18:52, 2F
推
08/29 19:19, , 3F
08/29 19:19, 3F
→
08/29 19:20, , 4F
08/29 19:20, 4F
→
08/29 19:21, , 5F
08/29 19:21, 5F
→
08/29 19:22, , 6F
08/29 19:22, 6F
→
08/29 19:22, , 7F
08/29 19:22, 7F
→
08/29 21:37, , 8F
08/29 21:37, 8F
→
08/29 21:38, , 9F
08/29 21:38, 9F
→
08/29 21:39, , 10F
08/29 21:39, 10F