단순연결리스트 삽입부분좀 봐주세요
훌걸이
질문 제목 : 단순연결리스트 삽입부분..질문 요약 :
#include stdio.h
#include stdlib.h
struct node
{
int data;
struct node* link;
};
void turninput(struct node*);
int count=0;
int main()
{
struct node* l=null;
struct node* temp;
int button,number,i;
do
{
printf((1)순차적입력 (2)선택적입력\n);
scanf(%d,&button);
switch(button)
{
case 1:
turninput(l);
break;
}while(button!=3);printf(이제 단순연결리스트를 출력하겠습니다\n); //버튼 3 입력시 빠져나오면서 출력시작
temp=l;
while(temp!=null)
{
printf(%d ,temp-data);
temp=temp-link;
}
return 0;
}void turninput(struct node* l)//순차적삽입(0이 들어올때까지 계속입력받음)함수정의
{
struct node* newnode;
struct node* temp;
while(1)
if(l==null) //첫번째 원소 넣을때
{
printf(%d번째 원소를 입력합니다\n,count+1);
newnode=(struct node*)malloc(sizeof(struct node));
printf(원소를 입력하세요:);
scanf(%d,&newnode-data);
if(newnode-data==0) //0이면 빠져나감
break;
l=newnode;
l-link=null;
count++;
}
else //2번째 이상의 원소 넣을때
{
printf(%d번째 원소를 입력합니다\n,count+1);
temp=l;
while(temp-link!=null)
temp=temp-link;
newnode=(struct node*)malloc(sizeof(struct node));
printf(원소를 입력하세요:);
scanf(%d,&newnode-data);
if(newnode-data==0) //0이면 빠져나감
break;
newnode-link=null;
temp-link=newnode;
count++;
}
}질문 내용 :
l이 헤더고 맨 처음에 실행시공백리스트일때 순차적으로 삽입하는건데
함수를 안만들어서 했을땐 올바르게 되는데
함수를 만들어서 하니까 함수안에서는 잘 연결되고main으로 돌아가니까l이 초기화 되버리는데 왜이런거죠???
리턴값으로 l을 넘기면 또 올바르게 되는데 그러면 struct node*를 넘긴의미가 없잖아요...
모르겟어요ㅠㅠ
도와주세요 잘못한게 없는것같은데 너무 답답하네요ㅠ
-
흰가람 2024-04-09
와!!오호 감사해요ㅠㅠ와 진짜 계속고민햇는대다행이네요ㅠㅠㅠ
-
또야 2024-04-09
TurnInput() 안에 있는 input parameter 를 모두 뺴고 하니까 잘 되네요.
1. struct node * L=NULL 을 전역으로 설정
2. void TurnInput() ;으로 변경 - L이 재정의 되면서 NULL로 바뀌는것 같네요 -
꽃겨울 2024-04-09
흠 그래도안되요ㅠㅠ
-
머슴밥 2024-04-09
L이 초기화 되는건 main 안에서 struct Node * L = NULL 이라고 하셔서 그런듯 하네요.
전역으로 설정하시면 될거같아요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2655072 | 콘솔창의 위치와 크기를 정하고 싶습니다. | 딥레드 | 2024-05-16 |
2655044 | 자료구조랑 online judge site에 대해서 질문있습니다... (1) | 뽀송뽀송 | 2024-05-16 |
2655016 | 별찍기 문제 중 이해안되는 부분이 있어요... | 도전중 | 2024-05-16 |
2654986 | 입력받은 성적을 배열에 저장하기 (3) | 안녕나야 | 2024-05-15 |
2654959 | ===========-이런거 미리 지정하는법 (1) | 김자영 | 2024-05-15 |
2654930 | 도와주십시요 ㅜㅜ 자료구조 ㅜㅜ | 도널드 | 2024-05-15 |
2654881 | PID 모듈 검색 부분 질문합니다 . | 이름없음 | 2024-05-14 |
2654850 | 조건에 만족하는 다음 수를 찾고 싶습니다. | 초엘 | 2024-05-14 |
2654790 | 두파일간 byte단위 txt파일 복사 中 | 슬찬 | 2024-05-14 |
2654768 | 사전만들기 입니다. | 여우By | 2024-05-13 |
2654716 | c언어 고수님들 답좀적어주세요 급합니다 ㅠㅠ | 한말글 | 2024-05-13 |
2654688 | c언어 ㅠㅠ 너 무 어려 워요 ㅠ 도와주세요!! | 별빛 | 2024-05-13 |
2654659 | 구구단 소스 궁금한 점 도움 부탁드립니다! (2) | 미련곰팅이 | 2024-05-12 |
2654633 | 오류가 무었인가요..? (2) | 단순랩퍼 | 2024-05-12 |
2654603 | 어디가 잘못된지를 모르겠습니다. 한 번 봐주세요...ㅠ (2) | 글고운 | 2024-05-12 |
2654574 | 소스 추가좀 부탁드립니다. (등수 출력) | 크리미걸 | 2024-05-12 |
2654550 | 피보나치수열. (3) | 중독적 | 2024-05-11 |
2654521 | c초보 빙고관련게임... | 달콤이 | 2024-05-11 |
2654491 | 10진수를 2진수로 바꾸는법 (8) | 아잉 | 2024-05-11 |
2654412 | 빅오를 구하고 싶어요~ | 애기 | 2024-05-10 |