C_C++

(C언어) 연결리스트: 노드를 뒤쪽에 추가하는 예

고니자니 2022. 11. 30. 08:30
반응형

노드(Node)를 뒤쪽에 추가하는 연결리스트 코드입니다.

노드를 뒤에 추가하는 예제

 

C언어 코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <malloc.h>

struct node {
    char name[20];  // 이름
    int age;        // 나이
    struct node* next;  // 다음 도드를 가리키는 포인터
};

int main(void)
{
    struct node* head, *curr, *p;
    head = curr = NULL;
    int n = 0;

    while (1)
    {
        p = (struct node*)malloc(sizeof(struct node));
        if (n == 0)
            head = curr = p;

        printf("이름: ");
        scanf("%s", p->name);
        if (p->name[0] == '0') break;

        printf("나이: ");
        scanf("%d", &p->age);
        p->next = NULL;

        curr->next = p;
        curr = p;

        n++;
    }

    curr = head;
    while (curr != NULL) {
        printf("%s\t%d\n", curr->name, curr->age);
        curr = curr->next;
    }

    return 0;
}

 

 

반응형