링크 된 목록과 관련하여 질문이 있습니다. 예를 들어, 다음과 같은 구조체 및 함수가 있습니다. 은 if 명령문의 첫번째 부분에서 C 연결 목록의 정수에 값 할당
struct node {
int value;
struct node *next;
};
struct entrynode {
struct node *first;
struct node *last;
int length;
};
void addnode(struct entrynode *entry) {
struct node *nextnode = (struct node *)malloc(sizeof(struct node));
int temp;
if(entry->first == NULL) {
printf("Please enter an integer.\n");
scanf("%d", &temp);
nextnode->value = temp;
nextnode->next = NULL;
entry->first = nextnode;
entry->last = nextnode;
entry->length++;
} else {
entry->last->next = nextnode;
printf("Please enter an integer.\n");
scanf("%d", nextnode->value);
nextnode->next = NULL;
entry->last = nextnode;
entry->length++;
}
}
는, I는 임시 변수에 저장 입력 후 구조체의 필드에 해당 할당. else 브랜치는 작동하지 않는 직접 할당하려고했습니다. 직접 할당하는 방법은 무엇입니까?
감사합니다. , scanf("%d", &(nextnode->value));
는 일반적으로 코드에 주석으로 복사 - 붙여 넣기 안티 패턴으로 알려진 코드를 반복하지 않도록 :
비판 해 주셔서 감사 드리며, 오랫동안 프로그래밍하지 않았습니다. 당신의 충고를 받아 들일 것입니다! –