단순연결리스트 삽입부분좀 봐주세요
훌걸이
질문 제목 : 단순연결리스트 삽입부분..질문 요약 :
#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 이라고 하셔서 그런듯 하네요.
전역으로 설정하시면 될거같아요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2653284 | 알파벳 변수 관련(배열에서) | 나슬 | 2024-04-30 |
2653260 | C언어 scanf인데.. | 찬누리 | 2024-04-30 |
2653230 | 한글로 해석부탁드립니다. (1) | BlackCat | 2024-04-29 |
2653142 | 질문드립니다.. 부탁드립니다.. | 머슴밥 | 2024-04-29 |
2653119 | cmd창[도스창, 콘솔창]에 한글이 출력이 안되요. (2) | By은지 | 2024-04-28 |
2653096 | C언어와 C++, 베이직C++의 차이 (1) | 두동 | 2024-04-28 |
2653014 | 전기 분야에서는 C언어가 어떤, 어느 용도로 쓰이나요? (7) | 처녀자리 | 2024-04-27 |
2652986 | c언어 프로그램~~ (5) | 가장 | 2024-04-27 |
2652907 | mciSendString 함수 플레이 시간, (1) | 해나 | 2024-04-26 |
2652880 | 배열입력을 묻고 싶습니다 (3) | 사에 | 2024-04-26 |
2652852 | strcmp함수 사용 관련,동적영역메모리접근관련 질문..이요. (1) | 민서 | 2024-04-26 |
2652801 | 안좋은 코딩 습관 지적좀요. | Addictive | 2024-04-25 |
2652779 | 문자열의 주소값 출력에 대해서 질문드립니다. | 핑크펄 | 2024-04-25 |
2652748 | 좀 도와주세요 ㅠ | 연체리 | 2024-04-25 |
2652719 | 다음프로그램의 실행결과를 알아보자.. (6) | 분홍이 | 2024-04-25 |
2652641 | 소인수프로그램 오류 (1) | 모람 | 2024-04-24 |
2652555 | 다이아 몬드 설명좀 부탁드립니다 | 갈기슭 | 2024-04-23 |
2652529 | 반복문을 .... (1) | 우시 | 2024-04-23 |
2652417 | 방향키로 커서이동 | 목소리 | 2024-04-22 |
2652339 | 구조체끼리 연결 왜 안될까요? (1) | 도담 | 2024-04-21 |