연결 리스트 질문 및 도움 요청이요~
봄시내
c언어를 배우는 학생입니다. 저는 구조체 선언 정도 까지는 알고 있는 완전 초보인데요.
자료구조 시간에 배운 리스트 에서 부터 막혀서 스택 덱 큐 뭐~ 이런거 실습 할때 완전 멍 만 때리고 있다
이제 와서 부랴 부랴 배워 볼려 합니다. 이 밑에 있는 실습 문제좀 풀어 주셨음 감사 하겠습니다.
아님 조금이라도 도움을 좀 주세요~
p-next = head; 이게 뭘 의미 하는지 이런거좀 자세히 써주세요
그림으로는 해더에서 노드를 연결 하고 쭉~ 이런식으로 하다 마지막에 null 값으로 끝난다고 쉽게 알겠는데요 ㅋㅋ
막상 p-next = head; 뭘 의미 하는지 모르겠습니다. #include stdio.h
struct tfield?xml:namespace prefix = o /
{
char data[10];
struct tfield *next;
};
struct tfield *talloc(void)
{
return (struct tfield *) malloc(sizeof tfield));
}
int main()
{
struct tfield *p, *head;
...
p=talloc();
...
//입력된 data 값에 따라 p의 각 field값 assign
strcpy(p-data, data);
// p를 리스트의 앞부분에 삽입
p-next = head;
head = p;
......
문제1. 키보드에 입력한 데이터를 입력 순서의 역순으로 리스트에 저장하고 입력 ’q’ 를 받으면 리스트의 순서대로 리스트의 값을 출력하도록 한다.
문제2 키보드에서 입력한 데이터를 입력 순서대로 리스트에 저장하고 입력 ‘q’ 를 받으면 리스트의 순서대로 리스트의 값을 출력하도록 한다. 순서대로 리스트에 저장하기 위해서는 새로 형성된 데이터를 리스트의 끝에 붙인다. (이를 위해서는 struct tfield *tai 을 하나 더 생성하여 관리 하며 head 는 리스트의 처음, tail은 리스트의 끝을 가리키도록 한다.)