모두의 코드
씹어먹는 C 언어 시작하기

씹어먹는 C 언어

안녕하세요 여러분. 씹어먹는 C 언어를 연재하고 있는 Psi 입니다.

제 강좌는 제가 참고했던 무수히 많은 책, 인터넷을 돌아다니며 얻은 지식, 그리고 제 경험에서 우러나온 모든 것을 잘 버무려서 만든 것이기 때문에, C 언어를 사용할 줄 아시는 분들이라도, 한 번쯤은 훑어 보시는 것을 추천합니다.

C 언어를 공부하면서 반드시 지켜야 할 수칙

현재까지 나온 강좌들의 목록 입니다.

C 언어 강좌 총 목록

1. C 언어가 뭐야?

C 언어를 배우기 위한 기본적인 프로그램을 설치한다.

2 - 1. C 언어 본격 맛보기

Hello, World! 를 만들고 이에 대한 설명

2 - 2. 주석(Comment)에 대한 이해

주석이 무엇인지 이해한다.

2 - 3. 수를 표현하는 방법(기수법)

십진법, 이진법, 16 진법에 친숙해 지고 컴퓨터 메모리의 단위(비트, 바이트, 워드, 더블워드)를 안다.

3. 변수가 뭐지?

변수(정수형, 실수형) 가 무엇인지 배우고, 기수법에 대해 알아본다

4. 계산하리

C 언어의 연산자(사칙연산, 쉬프트, 비트 연산자) 들에 대해 알아본다.

5. 문자 입력 받기

문자 데이터에 저장, scanf 의 이용

6. 만약에...(if 문)

if 문에 대해 알아본다. (물론 else 도..)

7. 뱅글 뱅글 (for, while)

반복문(loop) 에 대해 알아본다.

8. 우분투 리눅스에서 C 프로그래밍 하기

우분투 리눅스에서 GCC 의 설치, GCC 를 이용한 프로그래밍, 초보적 vi 사용법을 배운다

9. 만약에.. 2탄 (switch 문)

switch 문 사용하기, switch 문은 if 문과 내부적으로 무엇이 다를까?

10. 연예인 캐스팅(?) (C 언어에서의 형 변환)

형변환(캐스팅) 하기, 부동 소수점 방식의 원리와 이해, 비트와 바이트에 대해 알아본다.

11 - 1. C 언어의 아파트 (배열), 상수

C 언어의 배열(Array) 의 대한 기본적 내용과, 상수에 대해 알아본다.

11 - 2. C 언어의 아파트2 (고차원의 배열)

2 차원 배열에 대한 이해와 메모리 상의 형태, 그리고 3차 이상의 배열에 대해 알아본다.

12 - 1. 포인터는 영희이다! (포인터)

포인터에 대해 기초를 완벽히 다져준다! *& 연산자의 이해

12 - 2. 포인터는 영희이다 2! (포인터)

상수 포인터, 포인터의 덧셈과 뺄셈, 배열과 포인터와의 관계, [] 연산자를 알아본다!

12 - 3. 포인터는 영희이다 3! (포인터)

배열 포인터 (1 차원, 2 차원 등등), 포인터 배열, 더블 포인터에 대해 알아본다!

13 - 1. 마술 상자 함수(function)

함수의 필요성, 함수의 정의, 함수의 리턴값, 함수의 인자, main 함수에 대해 알아본다!

13 - 2. 마술 상자 함수 2 (function)

포인터 형태의 인자, 배열을 인자로 받기, 함수의 원형에 대해 알아본다!

13 - 3. 마술 상자 함수 3 (function)

더블포인터 인자, 2차원 배열 인자, 상수 인자, 함수 포인터에 대해 알아본다.

13 - 4. 마술 상자 함수 (생각해볼 문제에 대한 아이디어)

13 - 3 강의의 마지막 생각해볼 문제들은 정말로 중요한 것입니다. 이 강의에서는 이들에 대해 다루고 있습니다.

14. 컴퓨터의 머리로 따라가보자 - 디버깅(debugging)

C 프로그래밍에 관련은 없지만 컴퓨터 프로그래밍을 한다면 매우매우 중요한 것이 바로 디버깅이 아닐까 싶습니다.

15 - 1. 일로 와봐, 문자열(string)

C 프로그래밍에서 중요한 부분인 문자열에 관해 알아본다.

15 - 2. 일로와봐, 문자열(string) - 버퍼에 관한 이해

입력 버퍼(stdin) 에 대한 이해와 고질적은 scanf 문제의 발생 원인과 해결책에 대해 알아본다.

15 - 3. 일로와봐, 문자열(string) - 문자열 지지고 볶기 & 리터럴

문자열 리터럴(literal) 에 관한 이해 및 문자열을 이용한 여러가지 작업들에 대해 알아본다.

15 - 4. 일로와봐, 문자열(string) - 도서 관리 프로젝트

도서 관리 프로젝트를 만들며 문자열을 다루고, 함수를 이용한 프로그래밍에 친근해진다.

16 - 1. 모아모아 구조체(struct)

구조체에 대한 기본 개념 정의 및 이해, 구조체 포인터 및 -> 연산자에 대한 설명

16 - 2. 모아 모아 구조체(struct) - 구조체 인자로 가진 함수

구조체 포인터에 대한 확실한 이해, 구조체 포인터 인자로 받는 함수, 구조체의 대입에 대해 알아본다

16 - 3. 구조체와 친구들(공용체(union), 열거형(enum))

구조체의 나머지 잡다한 기능들에 대한 이해, 공용체, 열거형에 대해 알아본다.

17. 변수의 생존 조건 및 데이터 세그먼트의 구조

여러가지 형식의 변수(지역, 전역, 정적) 에 대해 알고 데이터 세그먼트의 구조를 파악한다.

18 - 1. 파일 뽀개기 (헤더파일과 #include, 모듈화 프로그래밍)

하나의 소스파일에서 탈피해 여러가지 파일들로 나누어 모듈화 프로그래밍을 하고 헤더파일과 #include 를 이해한다.

18 - 2. 파일 뽀개기 (# 친구들, 라이브러리)

여러가지 전처리기 명령(#include, #define, #ifdef, #endif, #else) 에 대해 알고, 표준 C 라이브러리를 사용한다.

19. main 함수의 인자, 텅 빈 void 형

void 형 포인터, 함수에 대해 알고, main 함수의 인자 (argc, argv) , 그리고 포인터 배열에 대해 이해한다.

20 - 1. 동동동 메모리 동적 할당(Dynamic Memory Allocation)

malloc 함수에 대한 이해, 1 차원 및 2 차원 배열 (정확히 말하면 2 차원 배열과는 다르다) 메모리 동적 할당.

20 - 2. 메모리 동적 할당 + 메모리 갖고 놀기

구조체의 동적 할당, 노드(Node) 의 이해, 메모리 처리 관련 함수 (memmove, memcmp, memcpy) 의 이해

21. 매크로 함수, 인라인 함수

매크로 함수(macro function) 와 인라인 함수(inline function) 에 대해 이해한다.

22. C 언어의 잡다한 키워드들 (typedef, volatile, #pragma)

typedef, volatile, #pragma 키워드에 대해 알아보고, 특히 #pragma pack#pragma once 에 대해서도 알아본다.

23 - 1. 파일 하고 이야기 하기 (파일 입출력에 대한 기본적 이해)

파일 입출력과 스트림이 무엇인지 알고 fopen, fgets, fputs, fgetchar, fseek, 파일 위치 지정자에 대해 알아본다.

23 - 2. 파일 하고 이야기 하기 (파일 입출력)

파일 위치 지정자와 fopen 의 자세한 사용법("r+", "w+", "a", "a+") 에 대해 이해하고 fscanf, fprintf 함수를 다루며 도서 관리 프로그램에 입출력 기능을 추가해본다

23 - 3. 파일 하고 이야기 하기 (파일 입출력 - 마무리)

지난 도서 관리 프로그램의 마무리 이다.

24. 더 빠르게 실행되는 코드를 위하여 (C 코드 최적화)

더 훌륭한 코드를 위해서 C 언어에서 코드를 최적화 할 수 있는 여러가지 기법들을 살펴본다.

25. 강좌를 마치며

프로필 사진 없음
댓글에 글쓴이에게 큰 힘이 됩니다