2015-09-02 120 views
-3

最近,我一直在學習算法,所以我嘗試編碼代碼。有喜歡結構指針,太多指針符號

int pop(struct node ** top_pt){ 
//彈出數據並且釋放內存 
if (*top_pt==NULL){ 
    printf("stack overflow\n"); 
    exit(0); 
} 

struct Node *top=*top_pt; 
//滿遞增 
int res=top->val; 

*top_pt=top->Next; 
free(top); 
return res; 

}

某些程序這樣,是什麼樣的***指針之間的區別?

+1

可能的重複[指針指針指針在C中工作嗎?](http://stackoverflow.com/questions/897366/how-do-pointer-to-pointers-work-in-c) – EOF

+0

@Jean你是中國人.....? – user3437460

+1

[無法理解記號:\ *和\ * \ *與指針]可能的重複(http://stackoverflow.com/questions/29692986/not-able-to-理解符號和指針) – ameyCU

回答

0

沒什麼好說的,指針是一個指針就是一個指針,它就是你如何使用這個它使所有的區別。

此模式(傳遞指向某個指針的指針)是一種模擬通過引用(C沒有)指針的方法。這意味着當你使用例如*top_ptr = top->Next該更改也將在調用函數中。