| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- CDC
- 파이참
- STM32
- SystemVerilog
- tkinter
- SVA
- openpyxl
- data structure
- 디더링
- 티스토리챌린지
- Dither
- assertion
- 아두이노
- 자료구조
- BeautifulSoup4
- Dithering
- ADsP
- c++ 기초
- 오블완
- systemverilog assertions
- 인덕터
- Bash
- Clock Domain Crossing
- git
- 군산가볼만한곳
- 임베디드레시피
- 임베디드시스템
- IOT
- arduino
- Metastability
- Today
- Total
목록Programming (88)
리미창고
3. 연결 리스트(Linked List) 정의데이터가 순차적으로 연결된 노드들의 집합으로 이루어진 자료 구조. 기본 구조데이터 : 저장할 값포인터 : 다음 노드의 주소를 가리키는 포인터첫 번째 노드를 헤드(Head)라고 하며, 가장 마지막 노드의 포인터는 Null을 가리킴 종류단일 연결 리스트(Singly Linked List)이중 연결 리스트(Doubly Linked List)원형 연결 리스트(Circular Linked List) 특징동적 크기 : 메모리에 필요한 만큼만 노드를 추가할 수 있어 동적 메모리 할당 가능노드 기반의 자료 구조 : 노드(Node)라는 단위로 구성되며, 각 노드는 데이터와 다음 노드에 대한 포인터로 이루어짐비연속적 메모리 할당 : 각 노드가 흩어진 메모리에 저장되고, 포인..
2. 배열(Array) 배열(Array) 정의동일한 데이터 타입을 가진 요소들이 연속적인 메모리 공간에 저장된 자료구조, 요소(element)와 인덱스(index)로 구성특징고정된 크기 : 배열의 크기는 생성시 결정되며 이후에는 변경할 수 없음연속적인 메모리 : 배열의 요소들은 메모리 상에서 연속적으로 저장되며, 인덱스를 통해 빠르게 접근할 수 있음동일한 데이터 타입 : 배열은 동일한 데이터 타입의 요소들만 저장할 수 있어서 메모리를 효율적으로 사용할 수 있음활용 예시데이터 목록 저장Matrix 데이터 저장버퍼로 사용되어 임시로 데이터 저장정렬/탐색 알고리즘스택, 큐, 그래프, 트리의 기본 구조 역할 연산과 시간 복잡도 연산설명시간 복잡도접근 (Access)인덱스를 통해 특정 위치의 요소에 접근. 예:..
1. 자료구조(Data Structure)란? 자료구조 정의자료구조(Data Structure)는 데이터를 효율적으로 저장하고 관리하기 위해 조직하는 방법과 규칙효과적인 자료구조를 통해 데이터를 빠르게 접근하고, 삽입, 삭제, 정렬, 탐색 등의 작업을 효율적으로 수행할 수 있음다양한 자료구조들은 특정 상황에 맞게 최적화되어 있음각 자료구조는 특정한 시간과 공간 효율성을 가짐 자료구조 분류Primitive Data Structure기본 데이터 유형하나의 값만 가질 수 있음고정된 크기를 가짐정수, 실수, 문자, 논리형 등 Non-Primitive Data Structure복합 데이터 유형한번에 여러 값을 가질 수 있음가변 크기를 가짐배열, 연결리스트, 스택, 큐, 트리, 그래프 등 Linear Struc..
3. Memory Structure(메모리 구조) 메모리 구조프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다.운영체제는 프로그램의 실행을 위해 다양한 종류의 메모리 공간을 제공한다.코드 영역 (Code)이 영역은 실행 가능한 코드, 즉 프로그램의 명령어들이 저장된다.읽기 전용(Read Only)이며, 프로그램 실행 중에는 수정할 수 없다.컴파일된 코드가 이곳에 저장된다.데이터 영역 (Data)이 영역은 전역 변수와 static 변수들이 저장된다.초기화된 데이터와 초기화되지 않은 데이터로 나뉜다초기화된 데이터 영역 (Initialized Data Segment): 프로그램이 시작될 때 값이 할당된 전역 변수와 static 변수들이 저장된다.초기화되지 않은 데이터 영역 (BSS Segm..
2. Pre-process(전처리) 전처리 지시자 #include지정한 파일을 읽어 와서 지시자가 있는 위치에 삽입한다.#include : 시스템 헤더파일 내용 복사. 컴파일러가 설정한 include 디렉터리에서 검색.#include “ ” : 사용자 정의 헤더파일 내용 복사. 소스 파일이 저장된 디렉터리에서 검색.단순히 해당 파일을 지시자가 있는 위치에 삽입하는 것이므로, 반드시 특정 코드의 맨 위에 넣을 필요는 없다.소스 파일(.c)도 포함할 수 있다. #define매크로명을 정의하는 전처리 지시자모든 매크로는 전처리 과정에서 단순히 치환될 부분으로 바뀌는 것 뿐이다.단순 매크로#define 매크로명 치환될_부분(관례적으로 대문자 사용)매크로 상수 : 상수 대신에 쓰이는 매크로명함수 매크로#de..
1. Introduction C 언어 유닉스 OS에 사용하기 위해 켄 톰슨이 만든 B 언어를 데니스 리치가 발전시켜 만든 언어이다.초기 유닉스는 대부분 어셈블리어로 작성되어 컴퓨터의 하드웨어가 바뀌면 다시 개발해야 하는 문제가 있었다.어셈블리어로 매번 다시 개발하는 일을 없애고자, 전 단계에서 사용할 공통된 언어인 C를 개발했다.주로 하드웨어를 제어하는 SW로 많이 사용된다. C 언어 컴파일 과정 소스 코드를 기계어로 바꾸는 과정으로 전처리, 컴파일, 어셈블, 링크 4단계로 이루어진다.전처리, 컴파일, 어셈블 3단계를 모두 포함해서 컴파일이라고도 한다.3단계를 포함한 컴파일과 링크를 포함해서 빌드라고 한다. 빌드는 소스 코드를 실행할 수 있는 소프트웨어 로 가공하는 것을 의미한다.전처리(Pre-pr..
