게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
본삭금] 자료구조 단순연결리스트 질문있습니다.
게시물ID : programmer_7984짧은주소 복사하기
작성자 : 태변면가
추천 : 0
조회수 : 327회
댓글수 : 6개
등록시간 : 2015/02/03 21:06:15
옵션
  • 본인삭제금지
//단일 링크드 리스트
#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct tagData
{
 int data;
 struct tagData *next;//포인터부분
}Data;

void main()
{
 Data *pdata;
 Data *head, *tail;
 
 pdata=(Data*)malloc(sizeof(Data));
 pdata->next=NULL;
 pdata->data=20;

 
 head=tail=pdata;
 
 pdata=(Data*)malloc(sizeof(Data));
 pdata->next=NULL;
 pdata->data=30;
 tail->next=pdata;
 tail=pdata;
 
 pdata=(Data*)malloc(sizeof(Data));
 pdata->next=NULL;
 pdata->data=3;
 tail->next=pdata;
 

 while(head)
 {
  printf("%d",head->data);
  head=head->next;
 }

}
 
 
이렇게 했을시에 while문에서 30203 을 출력하고 끝나는데요
첫번째 헤드에서 next의 값이 어떻게 tail의 주소로 이어지는 건가요?
head=tail=pdata;
 
이부분에서 head의 next는 NULL로 들어가서 헤드만 찍고 끝나야하지않나요?
학원에서 배웠는데 이해가 안가서 질문드립니다.ㅠㅠ
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호