[C언어][씹어먹는 C언어] Intro

Pyotato·2023년 5월 4일
0

[C언어]

목록 보기
1/5
post-thumbnail

C언어를 공부하면서 반드시 지켜야할 수칙
1. 강좌를 한 번 다 읽었다면 내가 뭘 배웠는지 머리속으로 생각하기
2. 1이 잘 안됐다면 다시 읽어보기, 그래도 모르겠다면 질문게시판(48시간내 답변이!)에 질문 올리기 (무엇을 모르겠고 어떻게 막히는지)
3. 소스코드는 반드시 수기로, ctl+v금지! 그대로 베겼는데도 오류가난다면 그냥 복붙, 근데 왜 틀렸는지 알아아함!
4. 자기 멋대로 수정해보기
5. 자부심갖고 올려보기 velog에 올라올 예정

📚 공부해야할 목록

0. C언어 공부를 인생 2회차에 했더라면

  • C언어 공부 전 배경지식으로 가져가면 좋을 것

2-1. C언어란?

  • 설치

2-2. 주석(Comment)이란?

2-3. 컴퓨터의 수 표현법 == 이진법

  • 10진법, 2진법, 16진법에 익숙해지기
  • 컴퓨터 메모리의 단위 (bit,byte,word,doubleword) 알기

3. 변수란?

  • 변수 (정수,실수형)가 뭔지 알기
  • 기수법이란?

4-1. C언어의 계산

  • 사칙연산, shift, 비트 연산자

4-2. 컴퓨터가 음수를 표현하는 방법(ft. 2의 보수)

  • 컴퓨터가 2의 보수법을 이용해서 음수를 표현하는 방법에 대해 알기
  • 정수 오버플로우란?

5. 문자 입력 받기

  • 문자 데이터에 저장
  • scanf

6. if문

  • if문else문

7. for문 & while문

  • 반복문(loop)

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

  • 우분투에서 GCC 설치
  • GCC 이용한 프로그래밍
  • vi 기초 다루기

9. switch문

  • switch문 사용하기
  • switch문 vs if문 (ft.내부적 차이)

10. 타입캐스팅 ft.C언어에서의 형변환

  • 형변환(캐스팅)방법
  • 부동 소수점 방식 원리 이해하기
  • 비트 & 바이트에 대해서

11-1. 배열 & 상수

  • C언어에서 배열(array) 기본 알기
  • 상수

11-2. 고차원 배열

  • 2차원 배열에 대한 이해 & 메모리 상의 형태
  • 3차 이상의 배열

12-1. 포인터 == 영희?(1)

  • 포인터 기초
  • *&연산자 이해하기

12-2. 포인터 == 영희? (2)

  • 상수 포인터
  • 포인터덧셈뺄셈
  • 배열포인터의 관계

12-3. 포인터 == 영희? (3)

  • 배열 포인터(1차원,2차원 etc)
  • 포인터 배열
  • 더블 포인터

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

  • 함수의 필요성
  • 함수의 정의
  • 함수의 리턴값
  • 함수의 인자
  • main함수에 대해 알아보자

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

  • 포인터 형태의 인자
  • 배열을 인자로 받기
  • 함수의 원형

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

  • 더블 포인터 인자
  • 2차원 배열 인자
  • 상수 인자
  • 함수 포인터

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

  • [13-3]강에서 생각해볼 문제들

14. 컴퓨터의 머리로 따라가보자 ft.디버깅

  • 프로그래밍을 하는 행위 자체에 관해 디버깅은 필수

15-1. 문자열(string)(1) : 기본

  • string에 관해

15-2 문자열(string)(2) : 버퍼에 관해

  • stdin (입력버퍼)에 관해
  • 고질적인 scanf 문제 발생 원인 & 해결책

15-3. 문자열(string) : 문자열로 이것저것 & 리터럴

  • 문자열 리터럴에 관해 이해
  • 문자열을 이용한 여러가지 작업들

15-4. 문자열(string) : 도서관리 프로젝트

  • 도서관리 프로젝트로 문자열 다뤄보기
  • 함수 이용 프로그램에 익숙해지기

16-1. struc(구조체)에 대해(1)

  • 구조체 기본 개념 정의 & 이해
  • 구조체 포인터
  • -> 연산자에 대해

16-2. struc(구조체): 구조체 인자로 가진 함수

  • 구조체 포인터 확실히 뽀개기
  • 구조체 포인터 인자로 받는 함수
  • 구조체의 대입

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

  • 구조체의 나머지 잡다한 기능들 이해하기
  • 공용체, 열거형에 대해

17. 변수의 생존 조건 & 세그먼트 구조

  • 여러가지 형식의 변수 (지역, 전역,정적)
  • 데이터 세그먼트의 구조 파악하기

18-1. 파일 쪼개기 ft.헤더파일, #include , 모듈화 프로그래밍

  • 하나의 소스파일 ➡️ 여러가지 파일들로 나누어 모듈화
  • 헤더파일 & #include에 대한 이해

18-2. 파일 쪼개기 ft. #친구들 , 라이브러리

  • 여러가지 전처리(preprocessing) 명령 (#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
  • #pragma pack
  • #pragma once

23-1. 파일 입출력 : 기본

  • 파일 입출력과 스트림 개념
  • fopen
  • fgets
  • fputs
  • fgetchar
  • fseek
  • 파일 위치 지정자

23-2. 파일 입출력 : 입출력해보기

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

23-3. 파일 입출력: 도서 관리 프로그램 마무리

24. C코드 최적화 방안들

25. 강좌 마치며

profile
https://pyotato-dev.tistory.com/ 로 이사중 🚚💨🚛💨🚚💨

0개의 댓글