목록C 언어 (2)
모노산달로스의 행보
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cjWp8e/btsGIOelGQj/l5JYC3K1JITkBz6H5Z628K/img.png)
C programming - 연결 리스트 (Linked List) 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 연결 리스트란? 연결리스트는 노드라고 불리는 구조체들의 체인으로 이루어져있습니다. 각 노드는 다음 노드를 가리키는 포인터를 가지고 있습니다. 연결 리스트는 삽입 삭제가 편리하고 메모리를 효율적으로 관리할 수 있습니다. 해당 포스트에서는 실제로 C언어를 통해 연결 리스트를 구현하면서 공부해보겠습니다. 연결 리스트 노드 생성과 삽입 가장 먼저 구조체 노드를 정의하겠습니다. struct node { int value; struct node *next; }; 노드는 값과 다음 노드..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cU2pJc/btsGLDaQjCZ/UtFlxOaGHsDtXRwOZT4TsK/img.png)
C programming - 동적 메모리 할당 리눅스 환경에서 네트워크 프로그래밍을 공부하기 위해서 C언어를 다시 복습해야 할 필요성을 느꼈습니다. 따라서 이번 기회에 배열부터 전처리기까지 내용들을 정리하겠습니다. 동적 메모리란? 프로세스의 메모리 구조는 위와 같이 4개로 구분됩니다. 그중에서 힙 영역은 프로그램이 실행되는 동안 동적으로 메모리를 할당할 수 있는 영역을 의미합니다. 힙 영역의 특징으로서 프로그래머가 요구할 경우 런타임 중에 동적 메모리 할당이 이루어집니다. 그렇다면 왜 동적 메모리 할당을 요청할까요? int array[5]; array[0] = 10, array[1] = 20, array[2] = 30; int array[2]; array[0] = 10, array[1] = 20, arr..