12:30 malloc(sizeof(node))까지만 쓰면 sizeof는 구조체의 '크기'만을 출력하기 때문에 아직은 컴퓨터가 malloc이 생성하는 공간이 구조체로 쓰일 공간이라는 건 모르고 그냥 node의 '크기만' 할당을 한 상태이고, 앞에 (node*)라고 붙였을 때 비로소 malloc이 생성한 공간이 node의 구조체형으로 갖춰지는 건가요?
선생님 강의 너무 도움되고 잘보고있습니다. 질문 몇개 드리고싶습니다. 질문1) malloc 으로 동적할당 시 메모리누수 방지를위해 free 해줘야한다고 했었던거같은데 이 영상에서 하지않아도되는 이유가 궁금합니다 질문2) 동적할당으로 생성된 노드들은 heap영역에 생겨서 프로그램 종료시까지 남아있고 insert_node_front 함수안의 new_node 포인터는 함수가 끝나면 사라지는 stack영역에 생기는거맞나요? 그래서 새 노드 생성하면 new_node 포인터도 다시 생성되어 새 노드를가리키는거구요?? 도움많이되고있습니다!!!
➡️ 소스코드 : cafe.naver.com/honeyc/46331
자료구조 강의감사합니다! 연결리스트 중간삽입 삭제, 다익스트라 코드구현 영상도 올려주세요 !
네😊
감사합니다 코드 구현으로 설명들으니까 더 이해 잘 되네요 혹시 중간삽입,clear,delete 코드구현 영상도 올라왔나요?
없는거 같은데^^ 곧 업로드하겠습니다😊
@@withhoneyc 감사합니당~
12:30
malloc(sizeof(node))까지만 쓰면 sizeof는 구조체의 '크기'만을 출력하기 때문에
아직은 컴퓨터가 malloc이 생성하는 공간이 구조체로 쓰일 공간이라는 건 모르고 그냥 node의 '크기만' 할당을 한 상태이고,
앞에 (node*)라고 붙였을 때 비로소 malloc이 생성한 공간이 node의 구조체형으로 갖춰지는 건가요?
할당된 메모리 공간의 주소를 node타입의
포인터로 쓰기 위해 형변환 하는 거예요~ㅎ
할당된 공간은 void포인터 타입이기 때문 입니다.
선생님 강의 너무 도움되고 잘보고있습니다. 질문 몇개 드리고싶습니다.
질문1) malloc 으로 동적할당 시 메모리누수 방지를위해 free 해줘야한다고 했었던거같은데 이 영상에서 하지않아도되는 이유가 궁금합니다
질문2) 동적할당으로 생성된 노드들은 heap영역에 생겨서 프로그램 종료시까지 남아있고 insert_node_front 함수안의 new_node 포인터는 함수가 끝나면 사라지는 stack영역에 생기는거맞나요? 그래서 새 노드 생성하면 new_node 포인터도 다시 생성되어 새 노드를가리키는거구요??
도움많이되고있습니다!!!
1) 메모리 누수때문에 동적 메모리를 해제하는 구문은 다른 함수에 구현했는데…함수별로 설명 드리는거라 이 함수에는 포함되어 있지 않았네요~
말씀하신대로 해제 하는게 맞습니다.
2) 질문하신 내용이 절확하게 맞습니다!
감사합니다~:)
선생님 노드를 삭제하거나 삽입하는 함수를 선언할 때는
메인함수 뒤에 선언해도 상관없나요? 아니면 메인함수 보다 앞에서 선언해야 하나요?
함수 선언은 main함수보다 위에 둬야 합니다:)
정확히는 함수 호출보다 함수 선언부가 위에 있으면 됩니다.
@@withhoneyc 답변 감사합니다 항상 잘보고 있습니다 ^^
감사합니다
와! 이렇게 많이 들어도 이해 되세요?
70~80%정도 이해하고 넘어가요.
다음에 필요한 부분 골라서 다시
들어보려고 해요
좋은 강의 감사합니다 ^J^
정말 대단하세요👍 진심으로 응원합니다🙏
struct Me -> heart = cheer ;
//맞나요?
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 넹넹
혹시 연결리스트 파트 강의 코드는 c로 진행이되나요? c++로 진행이 되나요??
C언어 입니다.
@ 정말 감사드립니다..!
정말 잘듣고 있습니다! 질문이 있는데 함수 밖에서 구조체를 선언하면 Data 영역의 BSS영역에 메모리가 할당되는건지 아니면 나중에 생성되는건지 궁금합니다
구조체 변수를 전역 변수로 선언 시 main함수 실행 전 data영역에 할당되며, 지역 변수로 선언 시 stack 영역에 할당 됩니다.
감사합니다ㅜㅜ 정말 돈주고도 못볼 명강의임당,,,,
힘이 나네요👍👍👍
선생님 그럼 node *head; 를 선언했을때 그 head는 node 타입의 주소를 저장하는 변수이지 따로 value나, node* next;와 같은 node구조체 안에있는 멤버들이 생성되는건 아닌게 맞죠?
네:) 맞습니다. head는 주소를 저장하는 포인터로 그조체 멤버는 할당되지 않습니다.
@@withhoneyc 저까지 이해시키는 뛰어난 강의력. 감사합니다.