1. 程式人生 > >連結串列頭節點問題(指標作為引數傳遞不能為NULL)

連結串列頭節點問題(指標作為引數傳遞不能為NULL)

真是腦殘,以前沒有注意過這個問題,今天噁心了我好一會。做個記錄,以後不要再犯。 

這樣在main函式裡面定義一個指標變數然後傳進函式裡面在申請空間的做法是錯誤的。

void creat(node* head)
{
	if(head==NULL){
		head=(node*)malloc(sizeof(node));
	}
	node *p=(node*)malloc(sizeof(node));
	p->date=1;
	head->next=p;
}
int main()
{
	node* head;
	head=NULL;
	return 0;
}

正確做法:先讓main函式裡面的head指向一個結構體(可以自己申請一個)

原因:指標的傳遞傳遞的是地址,如果不讓head在mian函式裡面指向一個結構體,head就沒有地址,不能作為指標傳遞!