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);
}
////以上範例是測試反轉鍊表的意外範例,鍊表沒有反轉,印出的結果發現頭後面的
節點都不見了(這裡省略了部分函數,只留問題)////
問題:為什麼函數沒有辦法改變位址,可在鍊表中卻會被改動呢??
(抱歉剛剛弄錯範例,以上才是正確想問的,謝謝)