
배열을 사용하면 동일한 자료형의 값을 여러 개 저장할 수 있습니다. 문자열을 저장할 때는 보통 각 문자를 char형 배열에 저장합니다.

포인터는 다른 변수의 주소를 저장하는 변수입니다. 흔히 '포인터가 변수를 가리킨다'고 표현하기도 합니다.

배열명은 컴파일 과정에서 해당 배열의 첫 번째 요소의 주소로 해석되며, 포인터 연산을 통해 나머지 요소에도 접근할 수 있습니다.

2차원 배열은 1차원 배열을 요소로 갖는 배열입니다. 행렬을 떠올리시면 이해가 빠를 겁니다.

포인터는 문자열 상수를 가리킬 수 있습니다. 여러 문자열을 처리할 때, 문자열을 가리키는 포인터들을 배열로 한꺼번에 저장하면 편리합니다.

구조체를 이용하면 서로 다른 자료형의 데이터를 하나로 묶어 저장, 관리할 수 있습니다. 역시나 C언어답게 구조체만을 가리키는 포인터도 있습니다.

구조체는 자기 자신과 동일한 타입의 구조체를 가리키는 포인터 를 포함할 수 있습니다. 이를 활용하여 연결 리스트와 같은 자료구조를 구현할 수 있습니다.

포인터 배열의 배열명을 저장할 땐 이중 포인터가, 이차원 배열의 배열명을 저장할 땐 배열 포인터가 필요합니다. 특히 매개변수로 배열명을 보낼 때 중요해요.

C의 `malloc` 함수는 대체 언제 어떻게 써야 하는 건지 알아봅시다.

동적 할당, 가변길이 배열은 입력 데이터의 크기가 미리 정해져 있지 않은 상황에서 매우 유용하게 활용할 수 있습니다.

C언어로 연결리스트를 구현하며 동작과정을 복습해봅시다.

C언어로 스택을 구현하며 동작과정을 복습해봅시다.

C언어로 큐를 구현하며 동작과정을 복습해봅시다.

C언어로 이진 트리의 일종인 이진 탐색 트리를 구현하며 동작과정을 복습해봅시다.

C언어에서 문자의 입력이 어떻게 이루어는지, 버퍼의 개념을 떠올리면서 공부해봅시다.

C언어 변수의 종류에는 지역, 전역, 정적 변수가 있습니다. 사용 범위 및 메모리 할당/회수 시점이 모두 다르므로, 이 점에 집중해서 공부해봅시다.

C언어 코드의 첫 줄을 장식하는 `#include <stdio.h>`(studio 아님)이 대체 뭔 뜻인지 알아봅시다.

6월 19일 발표날에 발표할 문제풀이 내용입니다. 전체 소스코드는 깃허브에 올려 두었습니다.

레드블랙 트리는 레드벨벳이랑 블랙핑크가 식목일날 심은 나무입니다.

제 블랙핑크 최애곡은 셧다운, 레드벨벳 최애곡은 피카부입니다

전혀 관련없어 보이는 두 주제를 함께 다룬 이유는.... 이번 실습에 두 개념을 활용해야 하더군요.

레드블랙 트리를 구현하면서 새롭게 느낀 리팩토링의 중요성에 대해 정리해보았습니다.

여러 소스 파일을 분할 컴파일하여 하나의 실행 파일을 만드는 과정에 대해 알아봅시다.

이름이 멋있긴 한데 영어론 걍 implicit list라고 합니다.

할당된 블록의 푸터를 생략하여 메모리를 절약할 수 있는 방법을 공유해 보겠습니다.

윈도우의 CRLF 줄바꿈 방식과 맥, 리눅스의 LF 줄바꿈 방식의 차이를 알아보겠습니다.