컴공 일기89
게시글 주소: https://orbi.kr/00057316993
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int Data;
struct Node* NextNode;
//단방향 연결 리스트
};
Node* SLL_CreateNode(int NewData)
{
Node* NewNode = (Node*)malloc(sizeof(Node));
//자동 메모리가 아니라 자유 저장소 쪽으로 관리하는 것이 당연한 미덕이다.
NewNode->Data = NewData;
NewNode->NextNode = NULL;
return NewNode;
}
void SLL_DestroyNode(Node* Node)
{
free(Node);
}
void SLL_AppendNode(Node** Head, Node* NewNode)
{
if ((*Head) == NULL)
{
*Head = NewNode;
}
else
{
Node* Tail = *Head;
while (Tail->NextNode != NULL)
{
Tail = Tail->NextNode;
}
Tail->NextNode = NewNode;
}
}
Node* SLL_GetNodeAt(Node* Head, int Location)
{
//자유 저장소에서 메모리가 관리되고 있다는 사실을 명심, 또 명심! (malloc을 사용했으므로)
Node* Current = Head;
while (Current != NULL && (--Location) >= 0)
{
Current = Current->NextNode;
}
return Current;
}
int main()
{
Node* List = NULL;
Node* NewNode = NULL;
Node* GetNode = NULL;
NewNode = SLL_CreateNode(117);
SLL_AppendNode(&List, NewNode);
NewNode = SLL_CreateNode(119);
SLL_AppendNode(&List, NewNode);
GetNode = SLL_GetNodeAt(List, 1);
printf("%d\n", GetNode->Data);
}
어디가서 코딩 좀 한다고 하려면, 눈감고 만들줄 알아야 하는 기초적인 C언어 주소록 예제가 되겠습니다.
여러가지 고민해 볼 것들이 많습니다만... 아무래도 메모리가 어떻게 관리되고 있는지를 명확히 알아야 처음부터 끝까지 명백한 채로 코딩을 할 수 있을 겁니다. 이게, malloc 함수를 왜 써야만 하는가에 대한 물음을 못하면, 구현할 때 segmentation fault를 낼 거예요. 한 5월 말 즈음 컴공 일기에 구현한 주소록인데, 탐색 기능만 아주 간단하게 추가한 것입니다. 다만, 앞서 말했듯 메모리를 관리하는 방식에 대한 이해가 중요한 것이지요. 이 맥락만 알고 있으면 주소록 탐색, 삭제, 추가...웬만한 기능들을 오류없이 구현할 수 있을 겁니다.
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
아이돌 ㅈ도 관심없어서 뭐라는지 메타 참여 못하겠는데 뭐 때메 싸우고 있는거??...
-
여기 커뮤 애들 특 13
남초 커뮤 아님 커뮤는 대부분 남자애들이 할거라는 인식을 박살낸 한 순간이였음 ㅋㅋㅋ
-
심지어 걍 쉬운 유전 하는거같은데 ㅈㄴ 어려운거같음....
-
릴스나 쇼츠 같은 거에서 볼 땐 욕먹을만하다고 생각했는데 풀영상 보니까 그냥 잘한...
-
의대는 그래도 의사 면허라도 있는 레지던트들 착취해서 대학병원이 굴러가는데 치대는...
-
개인적인 견해이긴하지만, 수1 삼각도형은 결국 출제될때 삼각함수 덧셈정리 배각...
-
두개 다 개좋아서 미칠거같아
-
독서실 2분마다 코 훌쩍이는 빌런 있는데 코 훌쩍이는 소리가 날때만 집중력이...
-
술마셔야지 6
-
근데 이미 탈퇴하셨거나 더 이상 이거 안 하시겠지 아깝다 마지막 글이 한 달도 더 되셨네
-
라이엇은 문제가 ㄹㅇ로 13
신챔 만들때 자꾸 온갖 유틸을 다 집어 넣을라 그럼 닐라도 그렇고 스카너, 크산테...
-
3등급 미적 3수생이고 수분감 레벨 1은 그래도 풀만 한데 뉴런 이건 문제 자체가...
-
어딘가요
-
ㄹㅇㅋㅋ
-
윤리 질문)))칸트 : 인간은 쾌락을 추구하고 고통을 피하는 존재이다 0
칸트도 긍정하는 내용인가요? #생윤 #윤사
-
한화 1.5배 ㄷ Kt 2배 기아 1.4배 ㄷ 키움 2.5배 Lg 1.4배 ㄷ 삼성...
-
밀을 벤담~ 키키키킼키킼ㅋㅋㅋㅋㅋ ㅋ키키키키킼ㅋㅋ 키키킹킹키키키킼ㅋ
-
컨디션 안좋네요 0
일어났을때 왠지 피곤하더만 ㅠㅠ 온도도 갑자기 오르니 몸이 적응을 못하는 느낌..
-
어 형이야 형은 대학 축제에도 등장해
-
136분간의 기자회견으로 국힙 국힘 외힙 모두 정리.
-
282라고 뜨는데 내가 대충 3주 쉰거 예상해보면 하루에 1000개 쯤 해서 28200개 알림일듯
-
중간은 없음
-
나이 먹고 철 못들면 이렇게 됩니다
-
엔터 회사와 인강 회사가 비슷한 이유 (Ft. 치킨, 화2, 하이브) 6
안녕하세요 :) 디올러 S (디올 Science, 디올 소통 계정) 입니다....
-
양도합니다.
-
심찬우 생글생감 모든 교재 값 이 얼마나 되나요? 알려주세요ㅠ
-
내신으로 언매 얕게(ㅈ반고라 공부 많이안함)했고 고3되고 책한번 안봤어요 중세국어...
-
올해 8월에 공군 입대하는 군수생입니다. 아직 지구과학을 시작 못했는데.. 국수영은...
-
화미생지인데 어디까지 가능함? 어문 말고 상경 자연 인문 상관없이 제발료 현우진...
-
오르비 저격 겁나쎄게 먹었는데 뭐냐 이거? https://url.kr/mcp1fe
-
등급컷 어떻게 될까요? 생지 44 48인데 1 1 되는 시험인가요?
-
잘 모르겠고 낼모레 자정에 뮤비 나오니까 많은 관심 부탁 드립니다
-
약대 교과 컷트 0
교과로 컷 마지노선이 어디일까요.. 반영 과목이랑
-
지구 컨 투표 0
시간되면 다하겠지만 우선순위 정할겸 ㅎㅎ
-
1)심찬우 쌤 패스 사면 심찬우 강의 다 수강되는 거죠? 그의 따라서 교재도 다 살 수 있는거죠?
-
https://youtu.be/DLzxrzFCyOs?si=DGPoPbcGqzpcFat...
-
국어 시험문제 오류있는것 같아서 EBS강사님이라던지 좀 공신력 있는 사람한테...
-
73 96 2 88 95 언미생지로요 교차지원으로는 어디까지 갈 수 있는지도...
-
평가원시험 10번째이지만 이번엔 다르다 평가원 긴장해라
-
이번에 중간고사 생윤을 처음 봤는데 김종익 잘생긴개념듣고 마더텅 기출, 학교 기출,...
-
어제 본 해석학 문제가 아직도 내 머릿속에서 떠나질 않아... 시험은 어제 다...
-
학점 개망함 2
이건 반수각이네요
-
제5인격 ㅇㅈ 2
행운아 시발련
-
내신휴강 끝나고 안가람 미적정규반 라이브 들어갈건데 내신휴강 전에 4주동안 무슨...
-
탈릅 관련 소신발언 11
1. 탈릅할거면 제발 확실히 좀 가라. ➡ 오르비 할 거면 하고, 나갈 거면 확실히...
-
넵
신기하게 생겼다고 생각했는데,
계속 볼 수록 뭔가 매력적이게 생긴거 같아요 ㅋㅋㅋ
(이해할 수 없어서 더 그런거 같기도하네요 ㅎㅎ)
오늘 컴공 일기도 잘 봤습니다 오늘 하루도 수고 많으셨어요!
개인적으로는 C언어, 자바 모두 깊게 파고들면 굉장히 어려운 언어들이라고 생각해요 ㅎㅎ 그만큼 익혔을 때 매력이 커지는 거겠지요 :)
굿밤입니다! 보라새님~_~
'어이 일기는 집에서나 써라' 고 말하려고 들어왔는데 개간지네...
좋게 봐주셔서 감사드려용(__)