[자료구조 C 언어] C 프로그래밍 기초 - 1 : 개요

Programming/C · 2020. 2. 20. 03:01

C 언어를 사용한 프로그래밍의 기초와 자료구조에 대해 정리하겠습니다.

 

제가 까먹을까봐 정리하는 게시물입니다.

 

전문가가 아닌 혼자 공부하고 연구하면서 느낀점과 문제 해결 과정을 중심으로 작성하겠습니다

 

편하게 읽어주시고 같이 따라오시면 최대한 편하고 알차게 핵심만 쏙쏙 얻어가실 수 있을겁니다..?

 

전문적인 내용은 제가 참고했던 사이트나 자료를 보고 이해해주시면 감사하겠습니다.

 

이번 내용은 가볍게 읽어주세요.

 

  1. 대규모 개발 시스템에서 요구되는 사항

    - 시스템 안전성
    - 소프트웨어 재사용성
    - 사용자 친화형 접속
    - 시스템 확장성 : 최신 기술에 대한 수용성
    - 시스템 관리의 용이성

  2. 시스템 설계와 구현 절차
    - 설계 : 요구사항 분석 → 어떤 자료구조와 자료형을 사용할지 → 알고리즘, 자료구조 설계 → 소프트웨어를 세부 단위로 분할
    - 구현 : 소스 코드 작성 → 컴파일 → 링크 → 로드 → 실행 → 수정

    => 클래스 단위로 모듈을 만든다. → 통합해서 전체 시스템 완성!!

  3. 적절한 데이터 처리와 구조
    - Appropriate Data Processing Pattern : Algorithm
    - Appropriate Data Structure : FIFO (First In First Out) queue (큐), linear vs. binary search, hash, binary search tree, multi-way tries.

  4. 엔지니어와 테크니션의 구분
    엔지니어 : 설계를 함께하고 구현하고 분석한다.
    테크니션 : 설계한 부분을 받아서 구현한다

  5. 알고리즘 : 명령들이 지정된 절차에 따라 수행하게 하는 목록
    - Flow chart : 논리순서 또는 작업순서를 그래픽으로 표현 → 단순한 알고리즘
    - Pseudo Code : 기본적인 골격만 알려주는 용도 -> 어떤 절차로 문제를 해결하고 있는지

  6. 자료구조 (Data Structure)
    Simple array
    Structure
    Array of Structure
    Self-referential structure : 구조체가 자기 자신을 가리키는 포인터를 내부에 포함
    Linked list, Binary tree
    Heap, Priority queue
    Map, Skip list

  7. 프로그래밍 언어의 역할 구분
    - C : 하드웨어를 직접 제어/관리 해야 하는 디바이스 구동 시스템 프로그램 개발
    - C++ : Class를 기반으로 하는 객체 지향형 시스템 프로그램 개발
    - Java : 시스템 하드웨어에 종속되지 않는 응용 프로그램 개발
    - Python : 시스템 프로그램들을 사용하여 script 개념으로 응용 프로그램 개발

반응형