C언어
- 동적 메모리 할당과 메모리 누수
- 2차원 배열과 동적 할당
- 포인터 배열, 배열 포인터 2가지 방법 있음
- 포인터 배열
==> 2차원 배열의 구조를 갖지만 메모리에 연속적으로 값이 저장되지 않을 수 있음.
==> 원소에 접근하기 위해 두 단계 메모리 접근이 필요함
ex) arr[3][2] -> arr[3]에 접근한 후, 해당 주소에서 다시 [2] 연산을 해야함.
==> malloc 자체가 느린 함수중 하나이므로 호출 횟수는 최소한으로 해야함.
==> 배열 높이만큼 malloc을 호출해야 하는 이 방법은 높이가 커질수록 상당히 느려짐
- 배열 포인터
==> 메모리에 연속적으로 값이 저장되어 접근이 빠름.
==> malloc을 한번한 호출하고 해제도 한번만에 끝낼 수 있음.
- 참고 링크 : 씹어먹는 C 언어 - <20 - 1. 동동동 메모리 동적할당(Dynamic Memory Allocation)> (modoocode.com)
- 연결리스트와 배열
- 추가, 삭제, 삽입이 빈번하면 연결리스트 사용
- 검색이 빈번하면 배열 사용
- 매크로, 인라인 함수
- typedef, volatile, #pragma
- 파일 입출력
- 참고 링크 1 : 씹어먹는 C 언어 - <23 - 2. 파일 하고 이야기 하기 (파일 입출력)> (modoocode.com)
- 참고 링크 2 : C 언어 레퍼런스 - fopen 함수 (modoocode.com)
- 메모리 관련 함수
- 해당 부분은 정리할 내용이 길어질 것 같아서 별도 포스팅으로 정리했다. 앞으로도 진행하면서 이런 식으로 정리할 내용이 많을 것 같다.
- 포스팅 링크 : [C/C++] 메모리 관련 함수(memcpy, memmove, memcmp) (tistory.com)
C언어를 마무리했다.
2차원 배열, 동적할당, 헤더파일 등 사용 방법만 대충 익히고 넘어갔던 부분들에 대한 이론 개념을 다시 정립했으며, 파일 입출력 등 제대로 공부하지 않았던 뒷부분 내용까지 모두 살펴보았다.
지금까진 복습의 개념으로 실습보단 이론 위주로만 공부했지만 앞으로 공부할 C++은 실습도 직접 진행하며 이론에 대한 공부도 계속해서 진행할 계획이다.
'TIL' 카테고리의 다른 글
[TIL] 20220908 성장일지 (0) | 2022.09.08 |
---|---|
[TIL] 20220907 성장일지 (0) | 2022.09.07 |
[TIL] 20220906 성장일지 (0) | 2022.09.07 |
[TIL] 20220902 성장일지 (0) | 2022.09.02 |
[TIL] 20220901 성장일지 (0) | 2022.09.02 |
댓글