单链表创建问题
//链表节点typedef struct Node*{
char elem;
struct Node* next;
};
//创建单链表
Node* CreateList(Node* head){
if(NULL == head){
head = (Node*)malloc(sizeof(Node));
//head->elem = getchar();ps出现在这里为什么不要给elem成员赋值
head->next = NULL;
}
Node* current = head,*temp;
char ch;
while((ch = getchar())!= '#'){
temp = (Node*)malloc(sizeof(Node));
temp->elem = ch;
temp->next = NULL;
current->next = temp;
current = temp;
}
return head;
}
为什么在head == NULL时,动态分配head后不要给head->elem成员赋值。