Skip to content

GP101/CWithCartoon

Repository files navigation

만화가 있는 C(C With Cartoon)

"만화가 있는 C" 2nd Edition, 성안당 아래 링크에서 튜토리얼을 시청할 수 있습니다
https://www.youtube.com/playlist?list=PLrrTotxaO6kjxlHovqDNTdSFZ8tcAvQkO

1. 들어가기 전에

  • 왜 언어의 이름이 C++죠?
  • C++와 C, 무엇이 다른가?
  • 환경
  • Visual Studio 2013 프로젝트 설정
  • int가 차지하는 메모리의 크기

2. 수학 함수를 C함수로

  • 아규먼트와 파라미터
  • 관례
  • 이젠 할 수 있다!
  • 함수도 선언해야 한다
  • 소스 문자 집합

3. 이진수

  • 보충해 주는 수: 보수
  • 비트 플래그, 비트 마스크

4. 변수는 쓰기 전에 선언해야 한다

  • 초기화
  • 함수형 초기화
  • 실수는 어떻게?
  • 부동소수 표현
  • 부동소수의 가감승제
  • 형의 종류
  • 특별한 형 void

5. 이스케이프 절차

  • 특정한 문자를 강조하기
  • C++11: 원시 문자열

6. 포인터, []연산자

  • 문자열은 포인터 표현
  • 포인터의 포인터, 함수 포인터

7. 문장 vs. 표현식

  • 문장의 종류

8. 연산자

  • 산술
  • 할당
  • 비트
  • C++에서만 사용 가능
  • new
  • delete
  • typeid
  • dynamic_cast
  • 콤마
  • 조건
  • 논리
  • 후위 표기
  • 전처리
  • 참조/역참조
  • 관계
  • sizeof
  • 형 변환
  • 함수형 형 변환

9. scanf()에 &가 있어야 하는가?

  • 스택: 자료구조의 정상
  • &의 역할
  • scanf()에 &를 적어야 하는 이유
  • 포인터를 바꾸려면

10. 제어구조

  • if
  • switch
  • switch를 보는 컴파일러의 입장
  • for
  • while
  • do...while

11. 프로젝트 만들기

  • 볼런드 C++ 3.1인 경우
  • 볼런드 C++ 4.5인 경우
  • 볼런드 C++ 빌더인 경우
  • 마이크로소프트 비주얼 C++ 4.2인 경우
  • 마이크로소프트 비주얼 C++ 5.0인 경우
  • Visual Studio 2013의 경우

12. 변수의 종류, 범위 규칙

  • 스택
  • C++11에서 auto의 의미
  • 레지스터
  • 파일
  • 가시범위에 의한 구분
  • 블록 범위
  • 전역 범위
  • 프로토타입 범위
  • static에 관한 진실

13. 배열

  • 차원
  • 같은 형의 변수를 여러 개 선언하는 법
  • 내용 연산자 []
  • 이차원 배열
  • '포인터 + 1'의 의미
  • 3차원 이상의 배열
  • 배열의 전달
  • 포인터 배열
  • 울타리 막대기 문제: 가장 자리 문제
  • 진보된 주제

14. 참조표

  • 점수에 따라 등급을 출력하는 경우
  • 기교
  • 임의의 숫자를 토글하려면
  • 임의의 사상을 구현

15. 포인터 II

  • 포인터의 포인터
  • 참조
  • 가용 공간 리스트
  • new와 delete
  • 2차원 배열의 할당

16. 사용자 정의형, 열거형

  • typedef
  • 범위
  • enum: 열거형
  • 컴파일러의 입장
  • 클래스에서 enum의 사용

17. 구조체, 공용체

  • 왜 이것이 필요한가?
  • 문법
  • 구조체 멤버 참조 연산자 . 과 ->
  • 구조체 포인터가 사용된 경우
  • 구조체의 필드를 바라보는 컴파일러의 입장: 상대 주소
  • 구조체의 초기화
  • 구조체의 전달, 리턴
  • 비트 필드 구조체
  • 비트 필드 클래스
  • 왜 비트 필드 구조체를 사용하죠?
  • 구조체 필드, 자기참조 구조체와 구조체 배열
  • 불완전 선언
  • 공용체
  • 무명 공용체
  • 연결 리스트

18. 파일

  • 핸들이란?
  • 파일의 사용
  • 파일 포인터
  • 이진 파일 vs. 텍스트 파일
  • 고전 그러나 아스키
  • 텍스트 파일의 처리
  • 이진 파일의 처리
  • 버퍼링

19. 함수 포인터

  • 함수 포인터가 필요한 경우
  • 함수 포인터 선언
  • 함수 포인터 배열
  • 오버로드된 함수의 주소
  • 디폴트 파라미터
  • 함수 포인터 형의 정의
  • 멤버 함수의 주소
  • C++의 새로운 연산자 .와 ->
  • 멤버 함수 포인터의 응용

20. 전처리 명령어

  • #include
  • #define
  • 왜 매크로 상수를 사용하는가?
  • 매크로 함수
  • 관례
  • 미묘한, 하지만 중요한 문제
  • #if와 defined 연산자
  • #undef,#line,#error와 #pragma
  • 미리 정의된 매크로
  • 운영체제나 환경에 의존적인 설정이 필요하다면

21. 가변인자

  • 스택 동작
  • 1개의 형과 3개의 매크로
  • 다른 예

22. 메모리

  • 옛날 옛적 8bit와 16bit 시절
  • 어려운 선택, 세그멘테이션
  • 인텔의 선택: 세그멘테이션
  • 64K의 한계
  • 메모리 모델
  • 선형 주소
  • 동적 할당, 그 내부
  • 최소 블록: 패러그래프
  • 단편화
  • 외부 단편화

23. 표준 함수

  • C 표준라이브러리 헤더 파일들
  • 형 지원
  • 동적 메모리 할당
  • 에러 처리
  • 프로그램 유틸리티
  • 가변 인자
  • 날짜/시간 함수들
  • 스트링 라이브러리
  • 알고리즘 함수
  • 수치 함수들
  • 입출력 지원 함수들
  • 지역화 함수들
  • 원자 연산 라이브러리
  • 쓰레드 지원 라이브러리

24. C++의 구조체

  • 좀 더 자연스러운 구조체
  • C++을 배우려는 독자들에게

@

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published