在java中我不能一個節點添加到當我訪問空例如差異在C和Java之間鏈表
void add(int val,node k){
while(k!=null)
k=k.right;
k=new node(val,null);
}
凡在C
void add(ll* ll1,int val){
node* neu=(node*)malloc(sizeof(node));
neu->val=val;
neu->right=NULL;
if(ll1->head==NULL){
ll1->head=neu;
return;
}
node** curr=&(ll1->head);
while(*curr){
curr=&((*curr)->right);
}
(*curr)=neu;
}
我可以添加一個鏈接列表當我訪問NULL時節點。有人可以解釋我的區別嗎?爲什麼它會這樣工作?
對不起,如果我的問題是嚴重的解釋。(你可以問的意見,更好地瞭解)
因爲Java試圖成爲一種「安全」的語言,而C並不假裝成一種語言。因此,C在涉及某些應用程序時更加強大。 – StoryTeller
在您的C代碼示例中沒有「訪問NULL」 - 它的工作方式與Java相同,只需在列表末尾添加節點即可。 –
你的C代碼實際上工作嗎?我認爲它會像在Java中一樣工作。 – anacron