✅ 목표 (Goal)

C 프로그래밍 언어에 대해서 보다 심도깊게 배워보자.

✅ 개요

템플릿

인삿말

00. 다운로드 및 참조 (Download and Ref.)

C언어 커리큘럼 2024.12.17

리치형한테 아쉬운점

C언어 퀴즈 모음

C언어 질문 모음 (C Language Question Collection)

랜덤함수 예제: 주사위(random function example: dice)

✅ 데이터형 샘플 몽땅

개요: 재미난 여러가지 데이터형 샘플

S01. 각종 데이터형 샘플: 가방, 눈오리,붕어빵 외

✅ C언어 심화

A01. 자료형 심화 (Adavanced Study of Data Type)

A02. 주석 및 문서화 (Comments and Documentation)

A03. 코딩 컨벤션, 네이밍 컨벤션 (Coding Convention, Naming Convention)

A04. 배열 심화 (Advanced Study of Array in C)

A05. 구조체 및 공용체 심화 학습 (Advaced of structure and union)

A06. 디버깅과 테스트(Debugging & Test)

A07. 조건부 컴파일 (Conditional Compile)

✅ 함수 심화

개요: C에서는 함수가, C++에서는 객체가 중요하다.

쉬운 내용

특별한 함수들: 재귀,매크로,인라인 함수

복잡한 함수 문법 연습: 참조 돌려주기 및 가변 매개변수

많이 특별한 함수: main() 함수 (6)

함수를 잘 만드는 방법 #1: 인자 받기 (How to Make Good Functions? Part 1: Methods for Receiving Arguments)

함수를 잘 만드는 방법 #2: 리턴 하기 (How to Make Good Functions #2: Returning Values)

함수를 잘 만드는 방법 #3: 온도 센서 sh85로 함수 멋지게 만들기 (How to Make Good Functions #3: Creating a Great Function with the SH85 Temperature Sensor”)

쉽지만 중요한 내용: 함수의 이름은 주소, 선언과 정의는 다르다.

함수 호출 규약: cdcel, abi, eabi

[참고] C++의 함수와 비교해보자.

✅ 컴파일 과정의 이해

make의 필요성 및 실습 (Undersanding of ‘make’)

컴파일 과정에 대한 이해 (Understanding of Compile)

정적 및 동적 라이브러리 제작 실습

✅ 포인터 심화

개요: 복잡한 포인터 문법에 숙달되자.

복잡한 형태의 포인터 문법

포인터 형 변환 및 포인터 앨리어싱

보이드 포인터 및 활용 (void Pointer)

널 포인터 (Null Pointer)

와일드 포인터, 댕글링 포인터

메모리 주소로 직접 제어: *(volatile unsigned int *)0xABCD= 0x1234;

✅ 동적 할당 및 메모리 관련 이슈

개요: C의 가장 치명적인 메모리 관련 이슈를 살펴보자.

메모리 동적 할당 1: 배열,구조체 생성

메모리 동적 할당 2: 동적할당의 장단점

메모리 이슈: 메모리 누수, 메모리 단편화, 버퍼 오버플로우, 세그멘테이션 폴트외 ★★★

✅ 모듈별 분할 설계

다운로드 및 참조 (Download & Ref.)

기억 영역 부류에 대해서 (About Storage Class)

1. 모듈별 분할 설계: 개요

2. 모듈별 분할 설계: include에 대한 이해

3. 모듈별 분할 설계: 헤더가드 및 모듈 구조 설계

4. 모듈별 분할 설계: 어떻게 만드는것이 좋은가?

✅ 함수포인터의 이해 및 활용

C언어의 꽃 함수포인터에 대해 알아보자.

다운로드 및 참조 (Download & Ref.)

함수 포인터 소개

함수 포인터 배우기전 준비: one,two,three…

함수 포인터 문법 연습하기 1

함수 포인터 문법 연습하기 2

함수 포인터 배열 및 룩업 테이블

함수 포인터 배열을 이용한 조건 분기의 간략화

콜백함수의 이해 및 활용

[참고] C를 C++처럼

✅ 시스템 프로그래밍