단일 연결 목록에 새 노드를 삽입하는 기능을 사용했지만 삽입 후 노드 내부의 모든 값을 인쇄 할 때만 값을 가져옵니다. 첫 번째 노드 :c : 함수를 사용하여 단일 연결 목록에 새 노드 삽입
// Make list
createList(head, 17);
// Insert to list
for (int x = 9; x > 0; x /= 3)
{
if (!insertToList(head, x))
{
fprintf(stderr, "%s", error);
return 1;
}
}
함수 :
bool insertToList(NODE *head, int value)
{
NODE *node = malloc(sizeof(NODE));
if (node == NULL)
return false;
node -> number = value;
node -> next = head;
head = node;
return true;
}
- 출력 : 17
것은 내가 기능을 사용하지 않는, 그리고 모든 것이 NG는 예상대로 작동합니다
// Make list
createList(head, 17);
// Insert to list
for (int x = 9; x > 0; x /= 3)
{
NODE *node = malloc(sizeof(NODE));
if (node == NULL)
{
fprintf(stderr, "%s", error);
return 1;
}
node -> number = x;
node -> next = head;
head = node;
}
- 출력 : 1 3 9 17
이유는 무엇입니까?
'head' 포인터의 복사본 만 수정했기 때문입니다. – ilotXXI